使用Javascript将DD-MM-YYYY转换为YYYY-MM-DD格式

时间:2014-11-23 08:46:24

标签: javascript

我试图将日期格式(DD-MM-YYYY)转换为(YYYY-MM-DD)。我使用这个javascript代码。它没有工作。

 function calbill()
    {
    var edate=document.getElementById("edate").value; //03-11-2014

    var myDate = new Date(edate);
    console.log(myDate);
    var d = myDate.getDate();
    var m =  myDate.getMonth();
    m += 1;  
    var y = myDate.getFullYear();

        var newdate=(y+ "-" + m + "-" + d);

alert (""+newdate); //It's display "NaN-NaN-NaN"
    }

5 个答案:

答案 0 :(得分:28)

这应该是魔术

var date = "03-11-2014";
var newdate = date.split("-").reverse().join("-");

答案 1 :(得分:1)

不要使用Date构造函数来解析字符串,它非常不可靠。如果您只想将DD-MM-YYYY字符串重新格式化为YYYY-MM-DD,那么就这样做:

function reformatDateString(s) {
  var b = s.split(/\D/);
  return b.reverse().join('-');
}

console.log(reformatDateString('25-12-2014')); // 2014-12-25

答案 2 :(得分:0)

您只需要使用return newdate:

function calbill()
{
var edate=document.getElementById("edate").value;

var myDate = new Date(edate);
console.log(myDate);
var d = myDate.getDate();
var m =  myDate.getMonth();
m += 1;  
var y = myDate.getFullYear();

    var newdate=(y+ "-" + m + "-" + d);
  return newdate;
}

demo


但我只是建议你像@Ehsan一样使用。

答案 3 :(得分:0)

您可以使用以下代码使用JavaScript将DD-MM-YYYY转换为YYYY-MM-DD格式:

var date = "24/09/2018";
date = date.split("/").reverse().join("/");

var date2 = "24-09-2018";
date2 = date.split("-").reverse().join("-");

console.log(date); //print "2018/09/24"
console.log(date2); //print "2018-09-24"

答案 4 :(得分:-1)

首先,您必须添加一个可在here上轻松获取的js cdn时刻

然后遵循此代码

moment(moment('moment('13 -01-2020','DD-MM-YYYY'))。format('YYYY-MM-DD');
//将返回2020-01-13