格式命令

时间:2016-04-14 16:26:44

标签: sql sql-server datetime format

我想这会在某个时间点被问到,但我找不到。

我目前使用Microsoft SQL Server 2012,在Management Studio中运行以下查询:

SELECT 
   DATEADD(hh, -4, DATEADD(s, 1396625291613/1000,'1970-01-01 00:00:00')) [raw date]
  ,format(dateadd(hh, - 4, dateadd(s, 1396625291613 / 1000, '1970-01-01 00:00:00')), 'M/d/yy h:mm tt') [h:mm]
  ,format(dateadd(hh, - 4, dateadd(s, 1396625291613 / 1000, '1970-01-01 00:00:00')), 'M/d/yy H:MM tt') [H:MM]

我得到的结果是:

2014-04-04 11:28:11.000
4/4/14 11:28 AM
4/4/14 11:04 AM

问题是为什么在格式化为h:mm vs H:MM时返回两个不同的时间。一个是11:28,另一个是11:04。

我查看了www.epochconverter.com这样的网站,发现小写字母是正确的,但在这种情况下,为什么大写字母剃掉了24分钟。当我做一整个时代转换日期列表时,我发现它在差异上并不一致。

作为背景故事,我将epoch值存储在数据库中,用于创建图章或最后更新图章等事物。

感谢。

0 个答案:

没有答案