EEST时区的Javascript日期函数错误

Hig*_*ike 4 javascript format timezone date

new Date("May 27, 2011, 1:00 pm EEST")
Run Code Online (Sandbox Code Playgroud)

萤火虫响应:

Date {Invalid Date}
Run Code Online (Sandbox Code Playgroud)

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

我可以将时区更改为+03:00或+0300,但是对于用户来说它不会那么友好,因为我使用<abbr>标签和jQuery我将每个abbr innerHTML格式化为他们的标题值是的,所以当你将鼠标悬停在它上面时,我仍然希望工具提示显示"2011年5月27日,美国东部时间下午1点",但在innerHTML中,我只需要"2011年5月27日"

<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">May 27, 2011</abbr>
Run Code Online (Sandbox Code Playgroud)

但是,由于EEST,我得到了这个

<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">NaN</abbr>
Run Code Online (Sandbox Code Playgroud)

如果我将EEST改为更常见的东西,如EST或GMT,那么没问题,很奇怪.

Koo*_*Inc 5

从ECMA脚本规范(15.15.15日期时间字符串格式):

没有国际标准规定民用时区的缩写,如CET,EST等,有时相同的缩写甚至用于两个非常不同的时区.因此,ISO 8601和此格式指定了日期和时间的数字表示.

来自ISO 8601

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

简而言之:它不是一个bug.您不能在javascript Date对象中使用EEST之类的区域.你必须坚持'UTC'或+/-表示法.

你可以在@this网页上找到很多关于这个主题的信息