使日期对象考虑时区

时间:2009-04-23 10:00:41

标签: javascript date timezone

我正在使用以下代码:

$.log('Ending time: ' + ending_time);
$.log('Now: ' + new Date());
$.log('Difference: ' + new Date(ending_time - new Date()));

输出如下:

Ending time: Thu Apr 23 2009 14:31:29 GMT+0200
Now: Thu Apr 23 2009 11:56:02 GMT+0200
Difference: Thu Jan 01 1970 03:35:26 GMT+0100

我正在使用“差异”来显示在ending_time之前剩余的小时数和分钟数,但由于时区差异,我得到错误的时间(偏移一小时。)所以有考虑到时区的任何计算差异的巧妙方法?

3 个答案:

答案 0 :(得分:1)

您应该能够使用getTimezoneOffset函数。

查看here

答案 1 :(得分:1)

您可以使用以下内容:

(new Date()).getTimezoneOffset()

它将在几分钟内为您提供客户端浏览器的时区偏移量。当然,您还需要知道结束时间的时区偏移。

答案 2 :(得分:1)

您不再处理日期,因此请勿将其转换为日期。你有时差,例如没有时区。结果应该以毫秒为单位,因此请根据需要执行相应的数学运算以获得分钟,小时,天或上述所有内容。