我试图将字符串转换为日期
var strdate='2014-04-23+09:06:57.4830591330'
尝试使用下面的代码
将此字符串转换为日期var followupDate = new Date(strdate);
console.log(followupDate)
我收到错误
Date {Invalid Date}
答案 0 :(得分:3)
你只需要一个空格而不是一个附加符号,所以你可以直接替换它:
var strdate='2014-04-23+09:06:57.4830591330';
var followupDate = new Date(strdate.replace("+"," "));
console.log(followupDate);
将记录类似:Wed Apr 23 2014 09:06:57 GMT+0100 (GMT Summer Time)
。
答案 1 :(得分:0)
您应该将字符串中的 + 符号替换为年份和小时之间的空格。
为了解释这一点,让我们看看Date documentation:
dateString
表示日期的字符串值。字符串应该在一个 Date.parse()方法识别的格式(符合IETF的RFC 2822 时间戳以及ISO8601的版本。
现在,from RFC 2822(在 3.3。日期和时间规范下),明确地描述了 + 用于时区:< / p>
zone =((&#34; +&#34; /&#34; - &#34;)4DIGIT)/ obs-zone
此外,请注意此标准中没有毫秒的空间。
答案 2 :(得分:0)
您的字符串格式错误 它应该是这样的
var strdate = "2014-04-23 09:06:57.4830591330"
如果您正在动态获取您的值,请通过
将其更改为此格式var newstrdate = strdate.replace("+", " ");
然后尝试
date = new Date(newstrdate);