我试图将日期格式(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"
}
答案 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;
}
但我只是建议你像@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