"日期无效"将字符串转换为日期时出错

时间:2014-04-30 11:28:11

标签: javascript

我试图将字符串转换为日期

var strdate='2014-04-23+09:06:57.4830591330'    

尝试使用下面的代码

将此字符串转换为日期
var followupDate =  new Date(strdate);

console.log(followupDate)

我收到错误

Date {Invalid Date}

3 个答案:

答案 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);
相关问题