我有一个像2016/1/1这样的字符串,我想把它改成像2016/01/01 (yyyy/mm/dd)这样的正确格式。输出格式也应该是字符串。
正确的做法是什么?
发布于 2016-11-25 10:19:22
下面是我经常使用的一段代码:
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('/');
}发布于 2016-11-25 10:31:36
在Javascript中处理日期可能是一件痛苦的事情,另一种解决方案是使用momentjs
可以在here中找到该库
然后,可以使用.format()选项轻松地将日期格式化为各种不同的格式:
var dateTime = new Date();
dateTime = moment(dateTime).format("YYYY/MM/DD");发布于 2016-11-27 13:44:09
使用Datejs,您可以将格式传递给.toString()。
示例
Date.parse('2016/1/1').toString('yyyy-MM-dd')
// "2016-01-01"希望这能有所帮助。
https://stackoverflow.com/questions/40796780
复制相似问题