gpt4 book ai didi

javascript - 与我的 javascript 变量相比,我的数据库类次中记录的日期时间为 2 小时

转载 作者:行者123 更新时间:2023-12-04 19:36:59 25 4
gpt4 key购买 nike

每次我将我的日期时间保存到我的数据库中时,我清楚地看到我的数据库中有 2 小时的变化。

我知道这与 UTC 有关,但我更喜欢在没有 UTC 的情况下在我的数据库中保留准确的日期。

这是我的代码:

var now = "06/08/2013 20:18"; // Eigth of june 2013
myObservable(now);

然后我检查我的数据库 (sql server),我看到 2013-06-08 18:18:00.000

我的问题:如何在我的sql server表中记录当前日期时间?

PS:我可以使用 moment 但我没有成功(仍然有轮类)。

最佳答案

这是我的实现:

function today() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var h = today.getHours();
var m = today.getMinutes();
var yyyy = today.getFullYear();
if (dd < 10) { dd = '0' + dd } if (mm < 10) { mm = '0' + mm } today = dd + '/' + mm + '/' + yyyy + ' ' + h + ':' + m;
return today;
};

var now = moment.utc(today(), "DD/MM/YYYY hh:mm").toDate();
myObservable(now);

这一次,变量现在包含:Sat Jun 08 2013 23:08:00 GMT+0200(浪漫夏令时)

我的数据库中的值为 2013-06-08 21:08:00.000

我的数据库中记录的这个值是现在的真实日期时间。


更新

为了回应 John,显示一些代码,说明浏览器究竟来自什么,以及它如何在服务器端代码中放入数据库

根据我自己建议的解决方案:

var now = moment.utc(today(), "DD/MM/YYYY hh:mm").toDate();
// now <- Sun Jun 9 10:40:00 UTC+0200 2013
myObservable(now);
  • 浏览器发送:2013-06-09T08:40:00Z
  • DB中记录的日期:2013-06-09 08:40:00.000

这是真实的日期时间。

PS:这里时间是:08:40


用一个简单的例子:

var now = new Date();
// now <- Sun Jun 9 08:45:54 UTC+0200 2013
myObservable(now);
  • 浏览器发送:2013-06-09T06:45:54.676Z
  • DB中记录的日期:2013-06-09 06:45:54.677

与实际日期相比,此日期偏移了 2 小时。


认识到当夏令时开始和停止时,您的本地时区偏移可能每年更改两次....

我不需要跟踪这些时间偏移,我们的应用程序将在本地使用。

这个不明确的时间很难用简单的 DateTime 字段来跟踪。如果您不想存储 UTC,并且希望它准确无误,那么您需要使用 DateTimeOffset

所以我按照您的建议尝试使用 DateTimeOffset 字段类型,结果如下:

var now = new Date();
// now <- Sun Jun 9 08:54:12 UTC+0200 2013
myObservable(now);
  • 浏览器发送:2013-06-09T06:54:12.843Z
  • 数据库中记录的日期:2013-06-09 06:54:12.8430000 +00:00

与实际日期相比,此日期偏移了 2 小时。问题还是一样。

已使用 Google Chrome 和 Internet Explorer 进行测试。

关于javascript - 与我的 javascript 变量相比,我的数据库类次中记录的日期时间为 2 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002496/

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