我有一个类似2016/1/1
的字符串,我希望将其更改为2016/01/01
(yyyy/mm/dd
)之类的正确格式。输出格式也应该是String。
这样做的正确方法是什么?
答案 0 :(得分:2)
这是我经常使用的一段代码:
function yyyymmdd(dte) {
var _date = new Date(dte);
var mm = _date.getMonth() + 1; // getMonth() is zero-based
var dd = _date.getDate();
return [_date.getFullYear(),
"/",
(mm>9 ? '' : '0') + mm,
"/",
(dd>9 ? '' : '0') + dd
].join('');
}
var date = "1/1/2010";
yyyymmdd(dte); // returns "2010/01/01"
这是我想出的一种简单的格式。可能有很多方法来处理这段代码。
这是稍微清洁的版本,稍后会向我建议。
function yyyymmdd(dte) {
var _date = new Date(dte);
var mm = _date.getMonth() + 1; // getMonth() is zero-based
var dd = _date.getDate();
return [_date.getFullYear(),
(mm>9 ? '' : '0') + mm,
(dd>9 ? '' : '0') + dd
].join('/');
}
答案 1 :(得分:0)
在Javascript中处理日期可能很痛苦,另一种解决方案是使用momentjs
可以找到该库here
然后,您可以使用.format()
选项轻松格式化各种不同格式的日期:
var dateTime = new Date();
dateTime = moment(dateTime).format("YYYY/MM/DD");
答案 2 :(得分:0)
使用Datejs,您将格式传递给.toString()
。
示例强>
Date.parse('2016/1/1').toString('yyyy-MM-dd')
// "2016-01-01"
希望这有帮助。
答案 3 :(得分:0)
var now = new Date();
var date = now.getDate();
var month = now.getMonth() + 1;
var monthName = ['January', 'February', 'March', 'April', 'May', 'June', 'July','August','September', 'Octobor', 'November', 'December']
var year = now.getFullYear();
if (date <= 9) {
date = '0'+ date
}
console.log(date + '-' + monthName[month] + '-' +year);