我想按照我需要的方式格式化日期: 我想这样: YYYY-MM-DD HH:MM:SS
我在互联网上找到了解决方案:
function js_yyyy_mm_dd_hh_mm_ss () {
now = new Date();
year = "" + now.getFullYear();
month = "" + (now.getMonth() + 1); if (month.length == 1) { month = "0" + month; }
day = "" + now.getDate(); if (day.length == 1) { day = "0" + day; }
hour = "" + now.getHours(); if (hour.length == 1) { hour = "0" + hour; }
minute = "" + now.getMinutes(); if (minute.length == 1) { minute = "0" + minute; }
second = "" + now.getSeconds(); if (second.length == 1) { second = "0" + second; }
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
}
有没有更好或更小的方法呢?
答案 0 :(得分:0)
除了可能使用库进行高级日期操作外,你所做的是最好的方法"
对于较短版本,您可以使用以下字符串操作选择其中一种标准格式:
function getTime() {
return (new Date).toISOString().replace('T', ' ').substr(0, 19)
}
console.log(getTime());

编辑1 - 本地时区
这是一个正确处理本地时区的版本:
/**
* getTime
* Formats a date to
* @param {(number | string)} [dateInitializer]
* @returns {string}
*/
function getTime(dateInitializer) {
var d = dateInitializer !== void 0 ? new Date(dateInitializer) : new Date();
return d.toISOString().slice(0, 10) + ' ' + d.toTimeString().slice(0, 8);
}
//TEST
console.log(getTime());