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,那么没问题,很奇怪。
答案 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
的大量信息