时间在我的桌子上可见如下
2017-09-15 16:30:00.000
我的查询就像这样
Format(SlotStartTime,'dd/MM/yyyy hh:mi:ss') as SlotStartTime
这会像这样返回时间
15/09/2017 04:30:00
因此计算错误应该是15/09/2017 04:30:00 PM
或保持24小时格式。我怎样才能做到这一点?
答案 0 :(得分:3)
hh
给你12小时
HH
为您提供24小时
此外,mi
可能是一个拼写错误,因为它会返回一分钟,然后是i
字母。试试这个:
declare @datetime datetime = '2017-08-29 16:30:01'
select Format(@datetime,'dd/MM/yyyy HH:mm:ss') as SlotStartTime
您可以在此处找到所有有效的日期时间格式字符:https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
答案 1 :(得分:3)
hh
是12小时格式的代码。 HH
是24小时格式的代码。它类似于mm
(不是mi
)的分钟数,MM
是几个月。
你想:
FORMAT(SlotStartTime,'dd/MM/yyyy HH:mm:ss')
12小时的时间段:
FORMAT(SlotStartTime,'dd/MM/yyyy hh:mm:ss tt')