2

我刚刚08/23/2012在javascript中投射了一个日期:

var value = '08/23/2012';
var newdate = new Date(value);

newdate恰好是日期{Thu Aug 23 2012 00:00:00 GMT+0100 (BST)}

我住在伦敦(格林威治标准时间 0:00),那么 +1 假设来自哪里,我该如何正确设置它?

4

2 回答 2

3

Europe/London由于夏令时方案,您在夏季时区是 GMT+0100。

这就是为什么通常最好根据位置配置系统,并通过查找tz 数据库来调整时区。不幸的是,浏览器中的 JavaScript 实现在时区的一般处理方面相当糟糕。

于 2012-08-29T17:21:09.127 回答
0

由于夏令时,伦敦目前是 GMT+1。

如果您希望日期不受时区或 DST 影响,您需要做两件事:

  1. 使用时间戳定义日期。时间戳是自纪元以来的毫秒数,并且与时区和 DST 完全无关
  2. 使用这些Date.getUTC___()函数以 UTC 格式获取日期和时间,这基本上是 GMT 但没有夏令时。
于 2012-08-29T17:22:06.500 回答