2009-04-23 44 views
1

我使用下面的代码段:请日期对象采取时区考虑

$.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,但由于时区差异,我得到错误的时间(偏移了一个小时)。那么是否有任何计算考虑时区的差异的简单方法?

回答

1

您不再处理日期,因此不要将其转换为一个日期。您有时差,例如没有时区。结果应该以毫秒为单位,因此根据需要执行适当的数学运算以获得分钟,小时,天或可能的全部。

+0

这正是我所做的。我想我懒得去做手动计算自己...... – 2009-04-24 08:32:03

1

您应该可以使用getTimezoneOffset函数。

看看here

1

您可以使用以下方法:

(new Date()).getTimezoneOffset() 

,这将给你的时区以分钟为单位的客户端浏览器的偏移。当然你也需要知道结束时间的时区偏移量。

相关问题