检索已输入的时区偏移量

时间:2014-03-20 16:08:36

标签: javascript date

我创建了这样的日期:

var date = new Date('Wed, 19 Mar 2014 18:17:00 +0200');

这解析为:

Wed Mar 19 2014 17:17:00 GMT+0100 (Central European Standard Time)

有没有办法从日期对象创建后检索“+0200”部分?我试图在不解析输入字符串且不使用外部库的情况下得到这个。

编辑: 当我使用

date.getTimezoneOffset();

它返回“-60”,它对应于本地时区偏移量,在我的例子中是GMT + 0100。我问的问题是输入中的“+0200”是否在创建时在Date对象中丢失,还是存储在某个地方?

2 个答案:

答案 0 :(得分:0)

您可以使用date.getTimezoneOffset();检索timezoneoffset并使用它来计算

答案 1 :(得分:0)

来自Mozilla MSDN

getTimezoneOffset()方法返回当前语言环境与UTC的时区偏移量(以分钟为单位)。

date.getTimezoneOffset()

时区偏移是UTC与本地时间之间的差异(以分钟为单位)。请注意,这意味着如果本地时区落后于UTC,则偏移量为正,如果前置,则偏移量为负。例如,如果您的时区是UTC + 10(澳大利亚东部标准时间),则将返回-600。夏令时可以防止该值即使对于给定的区域设置也是常量。


日期对象存储为自Unix纪元以来的毫秒数。因此,您的输入字符串将被解析并存储为原始数字。所以不,在将原始输入转换为日期对象后,您无法检索它们的各个方面。