我正在使用var offset = new Date().getTimezoneOffset()
来获取用户的当前时区偏移量。
但是,我如何获得未来任何时间的时区偏移?
这是必需的,因为启用/禁用DST
时时区偏移量不同。所以我不能假设未来时间的偏移量相同。
这个问题让我感到困惑,以为getTimezoneOffset()
可能已经无法正确获得未来日期的时区偏移量。确实如此。
就JavaScript
而言,你给它一个从epoch日期开始的毫秒,这是普遍存在的,它给你在本地时间的偏移量,因为它将在该日期,因为所有date功能关心的都是采用一个通用日期/时间,并传回一个对本地用户有意义的日期,除非你特别要求它提供通用的等效日期,使用类似CCD_ 5的方法。
所以运行
var summer = new Date(1403170847000);
alert('Summer offset=' + summer.getTimezoneOffset());
var winter = new Date(1419500175000);
alert('Winter offset=' + winter.getTimezoneOffset());
在本地时间包括夏令时的控制台中,在英国为我报告夏季日期偏移-60(即GMT+1),冬季日期偏移0(即GMT)。
http://jsfiddle.net/SX9SN/