我创建了这样的日期:
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对象中丢失,还是存储在某个地方?
答案 0 :(得分:0)
您可以使用date.getTimezoneOffset();
检索timezoneoffset并使用它来计算
答案 1 :(得分:0)
getTimezoneOffset()
方法返回当前语言环境与UTC的时区偏移量(以分钟为单位)。
date.getTimezoneOffset()
时区偏移是UTC与本地时间之间的差异(以分钟为单位)。请注意,这意味着如果本地时区落后于UTC,则偏移量为正,如果前置,则偏移量为负。例如,如果您的时区是UTC + 10(澳大利亚东部标准时间),则将返回-600。夏令时可以防止该值即使对于给定的区域设置也是常量。
日期对象存储为自Unix纪元以来的毫秒数。因此,您的输入字符串将被解析并存储为原始数字。所以不,在将原始输入转换为日期对象后,您无法检索它们的各个方面。