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

Convert DD-MM-YYYY to YYYY-MM-DD format using Javascript

本文关键字:YYYY-MM-DD 格式 转换 DD-MM-YYYY Javascript 使用      更新时间:2023-09-26

我正在尝试将日期格式(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"
    }

这应该可以做到魔术

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

不要使用 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
您可以使用以下内容将 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"

你只需要使用返回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;
}

演示


但我只是建议你像@Ehsan为你回答的那样使用。

首先你必须添加一个时刻 js cdn 在这里很容易找到

然后按照此代码进行操作

moment(

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