Update:在这里,2021,日期.js在years年没有维护过,因此不推荐使用,现在.js处于"仅维护"模式.我们有内置的Intl.DateTimeFormat
、Intl.RelativeTimeFormat
和(很快)Temporal
,可能最好使用它们.一些有用的链接来自Moment's page on entering maintenance mode.
Old Answer:
可能最好使用Date.js(尽管这已经多年没有维护)或Moment.js这样的库.
但是要手动操作,可以使用Date#getFullYear()
、Date#getMonth()
(它以0=一月开始,所以可能需要+1)和Date#getDate()
(月日).只需将月份和日期填充为两个字符,例如:
(function() {
Date.prototype.toYMD = Date_toYMD;
function Date_toYMD() {
var year, month, day;
year = String(this.getFullYear());
month = String(this.getMonth() + 1);
if (month.length == 1) {
month = "0" + month;
}
day = String(this.getDate());
if (day.length == 1) {
day = "0" + day;
}
return year + "-" + month + "-" + day;
}
})();
用法:
var dt = new Date();
var str = dt.toYMD();
请注意,函数有一个名称,这对调试非常有用,但由于匿名作用域函数,因此不会污染全局命名空间.
使用当地时间;对于UTC,只需使用UTC版本(getUTCFullYear
等).
警告:我刚刚把它扔掉了,它完全没有经过测试.