javascript - 在 Javascript 中将日期字符串中的月份与日期交换

标签 javascript date

我有一个格式为 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/yyyymm/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/yyyyyyyy-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/

相关文章:

javascript - 要求还是不要求?

php - 调整时区

android - 如何在sqlite数据库中添加日期

javascript - 带有 x 轴日期的 Google 图表时间轴

python - 根据日期列范围将列添加到数据框

javascript - 符号和数字文字的性能?

javascript - 使用 Javascript 将图像流 (JFIF - JPEG) 格式转换为 DataURI

javascript - 更改 div 的内部 html 并向其添加图像

javascript - 是否可以判断是否由于安装了应用程序而打开了覆盖新标签页?

r - 在 R 中计算年龄