Mau*_*ark 11 javascript datetime json internet-explorer-8
我正在进行从Date到string的转换,然后返回在sessionStorage中使用.所以我先这样做:
sessionStorage.currentDate = myDate.toJSON();
Run Code Online (Sandbox Code Playgroud)
然后我这样做:
if (sessionStorage.currentDate ) {
myDate = new Date(sessionStorage.currentDate);
}
Run Code Online (Sandbox Code Playgroud)
问题是IE9 +中的myDate.toJSON()函数返回但在IE8中它返回结束时缺少小数部分.事实是,在IE8失败的随后的再转换成日期(结果从是)"2013-05-06T22:00:00.000Z""2013-05-06T22:00:00Z"new Date(sessionStorage.currentDate)NaN
知道为什么会这样,以及如何使这个代码适用于IE8 +?
我试图在debug中替换字符串,结果发现2个字符串都不起作用.所以它实际上似乎是一个new Date(sessionStorage.currentDate)无法识别格式的问题(是UTC)
Rob*_*obG 12
在ES5之前,解析日期完全取决于实现.IE 8(及更低版本)不会解析ES5中指定的ISO 8601格式,因此请自行解析:
// parse ISO format date like 2013-05-06T22:00:00.000Z
function dateFromISO(s) {
s = s.split(/\D/);
return new Date(Date.UTC(s[0], --s[1]||'', s[2]||'', s[3]||'', s[4]||'', s[5]||'', s[6]||''))
}
Run Code Online (Sandbox Code Playgroud)
假设字符串是UTC.
| 归档时间: |
|
| 查看次数: |
7301 次 |
| 最近记录: |