This question already has answers here:
How to change date format
(2个答案)
2年前关闭。
我在这里一直在研究许多类似的问题,但事实是,我并没有取得很大的成功,直到我遇到一个令我满意的答案,但几乎没有花招:
这可能很明显,但是输出中的月份和日期不能100%正常工作,我只是不知道为什么。
输出示例:
编辑:
用
这个答案也适合我的情况:
(2个答案)
2年前关闭。
我在这里一直在研究许多类似的问题,但事实是,我并没有取得很大的成功,直到我遇到一个令我满意的答案,但几乎没有花招:
function convertDate (userDate) {
// convert parameter to a date
var returnDate = new Date(userDate);
// get the day, month and year
var y = returnDate.getFullYear();
var m = returnDate.getMonth() + 1;
var d = returnDate.getDay();
// converting the integer values we got above to strings
y = y.toString();
m = m.toString();
d = d.toString();
// making days or months always 2 digits
if (m.length === 1) {
m = '0' + m;
}
if (d.length === 1) {
d = '0' + d;
}
// Combine the 3 strings together
returnDate = y + m + d;
return returnDate;
}
这可能很明显,但是输出中的月份和日期不能100%正常工作,我只是不知道为什么。
输出示例:
convertDate("12/31/2014");
"20141203"
convertDate("02/31/2014");
"20140301"
编辑:
用
getDay
替换getDate
似乎可以解决问题。这个答案也适合我的情况:
function convertDate (userDate) {
return userDate.substr(6,4) + userDate.substr(3,2) + userDate.substr(0,2);
}
最佳答案
这是因为getDay
返回工作日0到6。您应该改用getDate
。
您的第二个示例也是错误的日期,因为二月永远不会有31天。
也许您应该尝试一下[momentjs]。它确实有助于使用日期和使用format
在格式之间进行转换。
09-11 19:12