date.js .parse() 不适用于ISO8601时区偏移量
date.js .parse() Not Working With ISO8601 Time Zone Offset
我正在研究一些带有日期的JavaScript.js。
var event_schedule_datetime = data.events[i].schedule[0].datetime;
var event_schedule_datetime_readable = Date.parse(event_schedule_datetime).toString('dddd, MMMM d, yyyy @ h:mm tt');
event_schedule_datetime
采用ISO8601格式 (2013-11-03T09:00:00+01:00)。 我以为那个日期.js能够解释这种格式,但我不断得到Unable to get property 'toString' of undefined or null reference
. 如果我用2013-11-01T18:00:00+01:00
替换event_schedule_datetime
也会发生同样的事情.
我知道该变量具有正确的数据,因为它在另一个地方被引用并导致<time datetime="2013-11-01T18:00:00+01:00">2013-11-01T18:00:00+01:00</time>
. 基本上,我试图给观众一个人类可读的日期和时间。
我还发现删除时区偏移量确实有效。
var event_schedule_datetime_readable = Date.parse(event_schedule_datetime.substring(0, 19)).toString('dddd, MMMM d, yyyy @ h:mm tt');
因此,似乎日期.js在使用ISO8601时不喜欢偏移量。 这是对的吗?
看起来本机 Date 对象可以处理这个问题:
控制台输出:
> new Date('2013-11-03T09:00:00+01:00')
Sun Nov 03 2013 03:00:00 GMT-0500 (EST)
> new Date('2013-11-03T09:00:00+01:00').toISOString()
"2013-11-03T08:00:00.000Z"
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- ResolveUrl是否适用于././也
- Firebase updateChildValues适用于IOS,但不适用于Web和Android
- JavaScript警报适用于int,但不适用于string
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- Regex Replace仅适用于Last Match
- window.onload适用于aspx页面,但不适用于普通html
- Jquery Ajax POST不工作.适用于GET
- 画布上的自定义字体仅适用于safari
- Javascript仅适用于alert()和Debug模式
- JS适用于Firefox和Safari,但不适用于Chrome.此处'是我的网站
- Regex不适用于Firefox,但适用于Chrome
- 通过单击主菜单外部关闭子菜单'不适用于IE,但适用于Firefox&铬
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- Javascript仅适用于jQuery mobile中的页面刷新
- 关闭当前选项卡并打开一个新的-仅适用于Chrome