gpt4 book ai didi

javascript - 如何修复 MS SQL Server 2008R2/2012 和 Javascript 之间的日期差异

转载 作者:行者123 更新时间:2023-12-02 18:00:38 24 4
gpt4 key购买 nike

我们将日期存储在数据库中,作为日期与“1970 年 1 月 1 日”之间的差异(以分钟为单位)。

以下是同一台机器的结果:

--TSQL (MS Sql Server 2008R2)
SELECT DATEADD(minute, 22572765, '1-Jan-1970'); -- gets 1-Dec-2012 12:45:00.000

//JS (Chrome) - assume minDate = 1-Jan-1970
new Date(minDate.getTime() + (22572765 * 60 * 1000)) -- gets me 1-Jan-2013 12:45:00

解决差异的最佳方法是什么?

最佳答案

在我看来,您的 minDate 是错误的,因为:

new Date((new Date(1970, 0, 1)).getTime() + (22572765 * 60 * 1000))

...给我 2012 年 12 月 1 日 12:45:00.000 GMT。

在 JavaScript 中,month 值从零开始,因此如果您使用 new Date(1970, 1, 1) 构造 minDate code>,这就是你缺席一个月的原因。

<小时/>

另请注意,除非您使用 UTC 变体(getUTCYear 等),JavaScript 日期将为您提供本地时区输出中日期的版本(您构建日期的方式除了 minDate 之外是正确的,只是在输出时您需要小心)。

关于javascript - 如何修复 MS SQL Server 2008R2/2012 和 Javascript 之间的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com