我有一个格式为 dd/MM/yyyy 的日期字符串,我想从这个字符串创建一个 Date 对象。 new Date(dd/MM/yyyy)
将不起作用..
我有这段代码,但显然行不通:
function createDateObject(value){
try{
return new Date(value.split('/').**swap(0, 1)**.join('/'));
}
catch(){
return null;
}
}
createDateObject('31/01/2014') => Fri Jan 31 2014 00:00:00 GMT-0200 (Local Daylight Time)
哪种方法最简单?
如果我可以在一行中完成的话,我不想创建很多临时变量......
最佳答案
由于您的问题是如何将字符串中的月份与日期交换(dd/mm/yyyy
到 mm/dd/yyyy
),这就是答案:
var dateString = "25/04/1987";
dateString = dateString.substr(3, 2)+"/"+dateString.substr(0, 2)+"/"+dateString.substr(6, 4);
但是,如果您想创建一个new Date()
对象,您必须根据ISO 8601 更改字符串。格式(dd/mm/yyyy
到 yyyy-mm-dd
):
var dateString = "25/04/1987";
dateString = dateString.substr(6, 4)+"-"+dateString.substr(3, 2)+"-"+dateString.substr(0, 2);
var date = new Date(dateString);
关于javascript - 在 Javascript 中将日期字符串中的月份与日期交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457348/