在JavaScript中解析日期字符串到目前为止

时间:2014-01-12 16:02:03

标签: javascript datetime

我有这个日期字符串“2013:05:12 11:41:31”

我试过了:

var strDate = "2013:05:12 11:41:31";
var dateParts = strDate.split(":");

var date = new Date(dateParts[0], (dateParts[1] - 1), dateParts[0]);
但是前者失败了。

var strDate = "2013:05:12 11:41:31";
var dateParts = strDate.split(" ");
var ymd = dateParts[0];
ymd = ymd.split(":");
var hms = dateParts[1];
hms = hms.split(":");
var date = new Date(+ymd[0],ymd[1]-1,+ymd[2], hms[2], hms[1], hms[0]);

这给了我以下日期和时间:Mon May 13 07:41:11 CEST 2013

如何从中获取JavaScript日期和时间对象?

3 个答案:

答案 0 :(得分:1)

var strDate = "2013:05:12 11:41:31";
var dateParts = strDate.split(" ");
dateParts = dateParts[0];
dateParts = dateParts.split(":");

var date = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);

alert(date);

首先获取日期,然后将其拆分,然后将其放入日期对象中。

答案 1 :(得分:1)

var strDate = "2013:05:12 11:41:31";

/*
You can parse a string, but it has to be a single string argument.

An array of arguments needs to be numbers, which are easy to coerce.
avoid leading 0s- 08 and 09 can cause octal problems for some users.

*/

var ymd = strDate.match(/[1-9]\d*/g);
var day= new Date(+ymd[0],ymd[1]-1,+ymd[2]);
day.toLocaleDateString()

//返回(字符串)值:2013年5月12日星期日

如果没有时区,你就没有特定的日期,只要是5月12日,无论你身在何处。

Javascript默认为用户本地设置,但某些应用程序默认为GMT。

答案 2 :(得分:0)

您可以考虑使用moment.js

var strDate = "2013:05:12 11:41:31";
var date = moment(strDate, "YYYY:MM:DD HH:mm:ss").toDate();