EEST 时区的 Javascript 日期函数错误
new Date("May 27, 2011, 1:00 pm EEST")
Firebug 响应:
Date {Invalid Date}
这是一个已知的 javascript 错误吗?如何解释 javascript 中的“东欧夏季时间”时区和日期?
例如,我可以将时区更改为 +03:00 或 +0300,但这对用户来说就不那么友好了,因为我使用 <<缩写>标签并使用jQuery,我将每个缩写innerHTML格式化为其标题值,这样当您将鼠标悬停在它上面时,我仍然希望工具提示显示“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,那么没问题,很奇怪。
new Date("May 27, 2011, 1:00 pm EEST")
Firebug Response:
Date {Invalid Date}
Is this a known javascript bug ? how do you interpret the "Eastern European Summer Time" timezone in javascript with date ?
I can change the timezone to +03:00 or +0300 for example, but then it wouldn't be as friendly for the user, because im using the < abbr > tag and with jQuery i format each abbr innerHTML to what their title value is, so that when you hover over it, I still want the tooltip to display "May 27, 2011, 1:00 pm EEST", but in innerHTML i only need "May 27, 2011"
<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">May 27, 2011</abbr>
However, because of EEST, i get this
<abbr class="timestamp blue" title="May 27, 2011, 1:00 pm EEST">NaN</abbr>
If i change EEST to something more common such as EST or GMT, then no problem, weird.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 ECMA 脚本规范 (15.9. 1.15 日期时间字符串格式):
来自 ISO 8601
简而言之:这不是一个错误。您不能在 javascript Date 对象中使用 EEST 等区域。您必须坚持使用“UTC”或+/- 符号。
您可以找到有关该主题的大量信息@此网页
From the ECMA-script specification (15.9.1.15 Date Time String Format):
From ISO 8601
In short: it's not a bug. You can't use zones like EEST and the like in the javascript Date object. You'll have to stick to 'UTC' or the +/- notation.
You can find a lot of information on the subject @this webpage