2011-05-27 63 views
3
new Date("May 27, 2011, 1:00 pm EEST") 

Firebug的响应:javascript日期函数错误时区

Date {Invalid Date} 

这是一个已知的JavaScript错误?你如何用javascript来解释“东欧夏令时”的时区?因为使用<简称>标记IM 00或0300,例如,但随后它不会是对用户友好,并且与jQuery I格式各缩写innerHTML来:

我可以更改时区到03它们的标题值是什么,所以当你将鼠标悬停在它上面时,我仍然希望工具提示显示“2011年5月27日下午1:00 EEST”,但是在innerHTML中,我只需要“2011年5月27日”

<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">May 27, 2011</abbr> 

然而,由于EEST的,我得到这个

<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">NaN</abbr> 

如果我改变EEST到更多的东西常见的如EST或GMT,那么没问题,很奇怪。

回答

4

From the ECMA-script specification(15.9.1.15日期时间字符串格式):

目前不存在国际标准 指定缩写为民间 时区CET一样,EST等,有时 同样简称为 甚至用于两个非常不同的时间 区域。为此,ISO 8601和 此格式指定数字 表示日期和时间。

ISO 8601

有在ISO 8601没有时区指示器时间只表示 本地时间或相对于UTC

简而言之:这是不是一个错误。你不能在javascript Date对象中使用像EEST之类的区域。你必须坚持'UTC'或+/-符号。

你可以找到很多关于这个问题的信息@this webpage

+0

谢谢你的答案。 – Highstrike 2011-05-27 10:12:23

+0

很高兴我能帮到;) – KooiInc 2011-05-27 10:15:56