Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript将DD-MM-YYYY转换为YYYY-MM-DD格式_Javascript - Fatal编程技术网

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

使用Javascript将DD-MM-YYYY转换为YYYY-MM-DD格式,javascript,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(); va

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

您只需使用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;
}



但是我只是建议您使用@Ehsan answered作为您的答案。

不要使用日期构造函数来解析字符串,它非常不可靠。如果您只想将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

这应该很神奇

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

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

首先,您必须添加一个即时js cdn,它在

然后按照此代码操作

力矩(力矩('13-01-2020','DD-MM-YYYY'))。格式('YYYY-MM-DD')

//将返回2020-01-13

不要依赖于构造函数将解析的日期。从未。认真地不要这样做。同时阅读并查看其他链接帖子。好的,“它不起作用”是什么意思?当我添加“警报”(“+”NeXDATE)时,@ Juhana,“它显示的是“南南南”,它是这样的03-11-2014。我想把它转换成2014-11-03.如果是你的答案,请考虑接受答案,点击神圣的复选标记,谢谢:只是我所寻找的简单性!嗨,欢迎来到StackOverflow。请澄清此答案与公认答案之间的差异。谢谢。这需要一个外部库。没有提到那件事。也没有解释。这个答案对stackoverflow毫无帮助。