将字符串转换为Date Javascript

时间:2016-12-13 14:09:00

标签: javascript date

尝试将字符串转换为Javascript日期。 我的字符串:

var fullDate = this.date + " " + this.time + ":00";

提供输出: 24/12/2016 02:00:00

但尝试将其转换为js Date对象,如:

 var k = new Date(fullDate); 

给出输出:无效日期

甚至:var k = Date.parse(fullDate);

给出输出: NaN

欢迎任何帮助。

到目前为止,我按照http://www.datejs.com/的说明进行了

3 个答案:

答案 0 :(得分:4)

您的格式无效。有效格式为month/day/year,请尝试:

var fullDate = "12/24/2016 02:00:00";
var k = new Date(fullDate);

希望我能帮忙!

答案 1 :(得分:3)

我刚刚发布了一个答案/问题。 Here's my answer

总之,您需要首先将字符串格式化为标准化格式,然后您可以将该字符串与新的Date(字符串)方法一起使用。这适用于许多浏览器(IE9 +,Chrome和Firefox)。

stringFormat = moment(dateObject).format("YYYY-MM-DDTHH:mm:ss");
date = new Date(stringFormat);

答案 2 :(得分:1)

发生这种情况是因为您没有为new Date提供有效的日期格式。所以日期格式不正确。 JavaScript中的默认日期格式为dd/mm/yyyy

日期应该像(mm/dd/yyyy):

12/24/2015

然后您可以使用var k = new Date(fullDate);

用于格式化日期的纯JavaScript解决方案(不含moment.js):

var fullDate = "24/12/2016 02:00:00";
fullDate = fullDate.split(' ');

var date = fullDate[0].split(/\//);
var time = fullDate[1];

var newDate = date[1] + '/' + date[0] + '/' + date[2] + ' ' + time;
var k = new Date(newDate);