将一个Javascript字符串日期格式化为一个特定的格式
问题描述:
我有一个像2016/1/1
这样的字符串,我想将其更改为适当的格式,如2016/01/01
(yyyy/mm/dd
)。输出格式也应该是一个字符串。将一个Javascript字符串日期格式化为一个特定的格式
什么是正确的做法?
答
这里有一段代码,我经常使用:
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('/');
}
答
处理日期在Javascript可以是一个痛苦,一个替代解决方法是使用momentjs
库可以然后,可以以各种不同的格式,容易地格式日期使用.format()
找到here
选项:
var dateTime = new Date();
dateTime = moment(dateTime).format("YYYY/MM/DD");
答
使用Datejs,您将格式传递给.toString()
。
例
Date.parse('2016/1/1').toString('yyyy-MM-dd')
// "2016-01-01"
希望这有助于。
什么使得这是一个适当的格式? –