如何将字符串转换为JavaScript日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
如何将字符串转换为JavaScript日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
当前回答
不幸的是,我发现了
var mydate =新日期(2014-04-03); 游戏机。log (mydate toDateString ());
返回“2014年4月2日星期三”。我知道这听起来很疯狂,但这确实发生在一些用户身上。
防弹方案如下:
Var parts ='2014-04-03'.split('-'); //请关注月份(零件[1]);JavaScript从0开始计算月份: // 1月- 0日,2月- 1日,等等。 var mydate =新的日期(部分[0],部分[1]- 1,部分[2]); console.log (mydate.toDateString ());
其他回答
你还可以: mydate.toLocaleDateString ();
转换为pt-BR格式:
var dateString = "13/10/2014";
var dataSplit = dateString.split('/');
var dateConverted;
if (dataSplit[2].split(" ").length > 1) {
var hora = dataSplit[2].split(" ")[1].split(':');
dataSplit[2] = dataSplit[2].split(" ")[0];
dateConverted = new Date(dataSplit[2], dataSplit[1]-1, dataSplit[0], hora[0], hora[1]);
} else {
dateConverted = new Date(dataSplit[2], dataSplit[1] - 1, dataSplit[0]);
}
我希望能帮助到别人!!
还有另一种方式:
String.prototype.toDate = function(format) {
format = format || "dmy";
var separator = this.match(/[^0-9]/)[0];
var components = this.split(separator);
var day, month, year;
for (var key in format) {
var fmt_value = format[key];
var value = components[key];
switch (fmt_value) {
case "d":
day = parseInt(value);
break;
case "m":
month = parseInt(value)-1;
break;
case "y":
year = parseInt(value);
}
}
return new Date(year, month, day);
};
a = "3/2/2017";
console.log(a.toDate("dmy"));
// Date 2017-02-03T00:00:00.000Z
如果你可以使用很棒的luxon库,你可以很容易地解析你的日期。
var luxonDate = DateTime.fromISO("2014-09-15T09:00:00");
和可以访问JS date对象通过
luxonDate().toJSDate();
旧的答案使用的是MomentJS
var momentDate = moment("2014-09-15 09:00:00");
momentDate ().toDate();
只是新日期(st);
假设这是正确的格式。