我正在使用Node中的边缘模块从SQL SERVER R2读取数据。在SQL Server Management Studio中,日期的格式为2014-10-05 22:24:00
,但是当我在JavaScript对象中获取它时,它将显示为05/10/2014 22:24:00 PM
。为什么会发生这种情况?如何以相同的格式阅读日期?
答案 0 :(得分:0)
在数据意义上,两个值都是相同的;它只是在格式上有所不同;如果未指定所选格式,则不同的程序将使用不同的默认值。在任何一个日期需要采用特定格式的时刻,该日期将需要一个格式化命令作为显示更改应用于它,保持基础值不变。如果您只是希望它们看起来相同,则只需要更改一个,以便一个的格式与另一个的格式匹配。您可以将SQL Server日期的格式更改为" DD / MM / YYYY HH:mm:ss"使用此脚本(see this link):
DECLARE @Date DATETIME = '2014-10-05 22:24:00'
SELECT CONVERT(VARCHAR(25), @Date, 103) + ' ' + CONVERT(VARCHAR(25), @Date, 108) AS FormattedDate
它没有AM / PM结尾 - 我不确定为什么会出现在JavaScript日期中,请给出以24小时格式给出的小时数。如果需要,可以使用以下方法添加它:
DECLARE @Date DATETIME = '2014-10-05 22:24:00'
SELECT CONVERT(VARCHAR(26), @Date, 103) + ' ' + CONVERT(VARCHAR(26), @Date, 108) + ' ' + RIGHT(CONVERT(VARCHAR(26),@DATE,109),2) AS FormattedDate
我承认现在看起来一切都变得笨拙了 - 将两个日期格式化为易于显示的东西可能更容易。 this question的答案有帮助。最简单的解决方案是避免在最后可能的分钟之前进行日期格式化,此时只需要使用结果数据。
希望有所帮助。