我有一个日期,格式是2014年5月11日太阳。如何使用JavaScript将其转换为2014-05-11 ?
函数taskDate(dateMilli) {
var d = (new Date(dateMilli) + ")。分割(' ');
D [2] = D [2] + ',';
返回[d[0], d[1], d[2], d[3]]。加入(' ');
}
var datemilli =日期。解析(' 2014年5月11日');
console.log (taskDate (datemilli));
上面的代码给了我相同的日期格式,2014年5月11日。我该如何解决这个问题?
这些答案没有一个让我很满意。我想要一个跨平台的解决方案,让我可以在不使用任何外部库的情况下使用本地时区的一天。
这是我想到的:
function localDay(time) {
var minutesOffset = time.getTimezoneOffset()
var millisecondsOffset = minutesOffset*60*1000
var local = new Date(time - millisecondsOffset)
return local.toISOString().substr(0, 10)
}
它应该在日期引用的时区中以YYYY-MM-DD格式返回日期的日期。
因此,例如,localDay(new Date("2017-08-24T03:29:22.099Z"))将返回"2017-08-23",即使它在UTC已经是24日。
你需要填充Date.prototype.toISOString,它才能在Internet Explorer 8中工作,但它应该在其他任何地方都能得到支持。
你可以:
函数formatDate(日期){
var d = new Date(日期),
月= " + (d.getMonth() + 1) ",
day = " + d.getDate(),
year = d.g getfullyear ();
如果(月。长度< 2)
月= '0' +月;
如果一天。长度< 2)
Day = '0' + Day;
返回[年,月,日].join('-');
}
console.log(formatDate('Sun May 11,2014'));
使用的例子:
console.log(formatDate('Sun May 11,2014'));
输出:
2014-05-11
JSFiddle的演示:http://jsfiddle.net/abdulrauf6182012/2Frm3/