当前的GMT区域是如何在Javascript中定义的

How is current GMT zone defined in Javascript?

本文关键字:Javascript 定义 GMT 区域      更新时间:2023-09-26

我刚刚用javascript:转换了一个迄今为止的08/23/2012

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

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

我住在伦敦(格林尼治标准时间0:00),那么+1假设是从哪里来的,我该如何纠正?

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

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

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

如果你想让日期不受时区或夏令时的影响,你需要做两件事:

  1. 用时间戳定义日期。时间戳是自大纪元以来的毫秒数,对于时区和夏令时是完全不可知的
  2. 使用Date.getUTC___()函数可以获得UTC的日期和时间,UTC基本上是GMT,但没有夏令时