Javascript Date.getTime()返回IE11中ISO/Twitter API日期的NaN

Javascript Date.getTime()返回IE11中ISO/Twitter API日期的NaN,javascript,internet-explorer,date,timestamp,Javascript,Internet Explorer,Date,Timestamp,这是: 为什么IE11打印NaN Firefox/Chrome/和其他浏览器在打印1406128992000时没有问题。引自ECMAScript语言规范,章节: ECMAScript定义了基于日期时间的字符串交换格式 在简化ISO 8601扩展格式之后。格式是 如下所示:YYYY-MM-DDTHH:MM:ss.sssZ ... Z是指定为UTC的Z或+或-后跟时间表达式HH:mm的时区偏移量 显然,您需要在时区指示符中添加:。这应该在IE9中起作用: var dateString=2014-0

这是:

为什么IE11打印NaN


Firefox/Chrome/和其他浏览器在打印1406128992000时没有问题。

引自ECMAScript语言规范,章节:

ECMAScript定义了基于日期时间的字符串交换格式 在简化ISO 8601扩展格式之后。格式是 如下所示:YYYY-MM-DDTHH:MM:ss.sssZ ... Z是指定为UTC的Z或+或-后跟时间表达式HH:mm的时区偏移量

显然,您需要在时区指示符中添加:。这应该在IE9中起作用:

var dateString=2014-07-23T15:23:12+0000; var dateStringISO=dateString.replace/[+\-]\d\d\d$/,$1:$2; var timestamp=new DatedateStringISO.getTime;
console.logdateString,dateStringISO,时间戳 引自ECMAScript语言规范,章节:

ECMAScript定义了基于日期时间的字符串交换格式 在简化ISO 8601扩展格式之后。格式是 如下所示:YYYY-MM-DDTHH:MM:ss.sssZ ... Z是指定为UTC的Z或+或-后跟时间表达式HH:mm的时区偏移量

显然,您需要在时区指示符中添加:。这应该在IE9中起作用:

var dateString=2014-07-23T15:23:12+0000; var dateStringISO=dateString.replace/[+\-]\d\d\d$/,$1:$2; var timestamp=new DatedateStringISO.getTime;
console.logdateString,dateStringISO,时间戳;我猜日期字符串是无效的,而getTime from invalid date是NaNSafari也返回NaN。您的问题就在这里2014-07-23T15:23:12+0000I没有对该数据的控制。它来自社交api/json。我该怎么办?你应该以某种方式解析日期,并将数字传递给日期构造函数。我猜日期字符串无效,从无效日期开始的getTime也是NaNSafari返回NaN。你的问题就在这里2014-07-23T15:23:12+0000我无法控制该数据。它来自社交api/json。我该怎么办?你应该以某种方式解析日期,并将数字传递给日期构造函数。但是如果每个日期都失败了?还有日期,如Mon Jan 13 16:04:04+0000 2014 return NaN。它在规范中指出,如果字符串不符合该格式,函数可能会退回到任何特定于实现的启发式或特定于实现的日期格式。是的,一个特定的日期格式可能在一个浏览器中工作,但在另一个浏览器中不工作。这是他们json结果中的Twitter格式标准。如何解析2014年1月13日星期一16:04:04+0000?使用正则表达式替换将其更改为2014年1月13日星期一16:04:04 GMT;根据,这种格式应该可以用。我不太懂正则表达式。你能帮我吗?但如果每次约会都失败了?还有日期,如Mon Jan 13 16:04:04+0000 2014 return NaN。它在规范中指出,如果字符串不符合该格式,函数可能会退回到任何特定于实现的启发式或特定于实现的日期格式。是的,一个特定的日期格式可能在一个浏览器中工作,但在另一个浏览器中不工作。这是他们json结果中的Twitter格式标准。如何解析2014年1月13日星期一16:04:04+0000?使用正则表达式替换将其更改为2014年1月13日星期一16:04:04 GMT;根据,这种格式应该可以用。我不太懂正则表达式。你能帮助我吗?
var date = "2014-07-23T15:23:12+0000";
var ts = new Date(date).getTime();
console.log(ts);