EEST时区的Javascript日期函数错误

时间:2011-05-27 08:57:15

标签: javascript date timezone format

new Date("May 27, 2011, 1:00 pm EEST")

Firebug回复:

Date {Invalid Date}

这是一个已知的javascript错误吗?你如何用日期在javascript中解释“东欧夏令时”时区?

我可以将时区更改为+03:00或+0300,但是对于用户来说它不会那么友好,因为我正在使用< abbr>标签和jQuery我将每个abbr innerHTML格式化为它们的标题值,这样当你将鼠标悬停在它上面时,我仍然希望工具提示显示“2011年5月27日,EEST下午1:00”,但在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,那么没问题,很奇怪。

1 个答案:

答案 0 :(得分:5)

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

  

没有国际标准   指定民用的缩写   时区如CET,EST等   有时相同的缩写是   甚至用于两个非常不同的时间   区域。出于这个原因,ISO 8601和   此格式指定数字   日期和时间的陈述。

来自ISO 8601

  

ISO 8601中没有时区指示符。仅表示时间   作为当地时间或与UTC相关

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

您可以找到有关主题@this webpage

的大量信息