📅  最后修改于: 2023-12-03 14:42:36.008000             🧑  作者: Mango
对于开发人员来说,时间格式化是一个常见的需求。在 JavaScript 中,有许多内置的方法可以用来格式化时间。下面介绍了一些常见的方法。
要格式化时间,我们需要先创建一个 Date 对象。可以使用 new Date()
方法创建一个当前时间的 Date 对象,也可以使用传入参数的方式创建一个指定时间的 Date 对象。
// 创建当前时间的 Date 对象
const now = new Date();
// 创建指定时间的 Date 对象
const specificDate = new Date("2021-10-30 10:30:00");
有多种方法可以格式化时间,下面是其中一些常见的方法。
toLocaleString()
方法返回一个字符串,表示这个日期对象的日期和时间部分,使用本地时间格式。
const now = new Date();
const formattedTime = now.toLocaleString();
console.log(formattedTime); // 2021/10/30 下午10:32:48
toISOString()
方法返回一个 ISO 格式的日期字符串。
const now = new Date();
const formattedTime = now.toISOString();
console.log(formattedTime); // 2021-10-30T14:34:48.354Z
如果需要更精确的格式,可以使用自定义格式。以下是一个常用的自定义格式化的函数。
function formatDate(date, format) {
const map = {
"M": date.getMonth() + 1,
"d": date.getDate(),
"h": date.getHours(),
"m": date.getMinutes(),
"s": date.getSeconds(),
"q": Math.floor((date.getMonth() + 3) / 3),
"S": date.getMilliseconds()
};
format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
let v = map[t];
if(v !== undefined) {
if(all.length > 1) {
v = "0" + v;
v = v.substr(v.length - 2);
}
return v;
}
else if(t === "y") {
return (date.getFullYear() + "").substr(4 - all.length);
}
return all;
});
return format;
}
const now = new Date();
const formattedTime = formatDate(now, "yyyy-MM-dd hh:mm:ss");
console.log(formattedTime); // 2021-10-30 10:32:48
以上介绍了 JavaScript 中常见的格式化时间的方法。开发人员可以根据自己的需求选择适合的方法。如果需要更多的格式化方法,可以查看 Moment.js 这个优秀的时间格式化库。