JavaScript 日期和时间的格式化大汇总(收集)
// 使用Intl.DateTimeFormat进行本地化格式化日期和时间
function formatDateTimeLocalized(date, options = { year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' }) {
const formatter = new Intl.DateTimeFormat('zh-CN', options); // 中文简体地区和选项
return formatter.format(date);
}
// 格式化日期和时间为YYYY-MM-DD HH:mm:ss格式
function formatDateTime(date) {
function padZero(num) {
return num < 10 ? '0' + num : num;
}
return (
date.getFullYear() + '-' +
padZero(date.getMonth() + 1) + '-' +
padZero(date.getDate()) + ' ' +
padZero(date.getHours()) + ':' +
padZero(date.getMinutes()) + ':' +
padZero(date.getSeconds())
);
}
// 使用moment.js库格式化日期和时间
function formatDateTimeMoment(date) {
return moment(date).format('YYYY-MM-DD HH:mm:ss'); // 使用moment.js格式化
}
// 使用Date对象原生方法格式化日期
function formatDate(date) {
return date.toDateString(); // 将日期转换为星期、月、日、年的简短字符串
}
// 使用Date对象原生方法格式化时间
function formatTime(date) {
return date.toLocaleTimeString(); // 将时间转换为本地时间字符串
}
// 使用Date对象原生方法格式化时间为HH:mm:ss格式
function formatTimeShort(date) {
return (
padZero(date.getHours()) + ':' +
padZero(date.getMinutes()) + ':' +
padZero(date.getSeconds())
);
}
// 示例
const now = new Date();
console.log(formatDateTime(now)); // 输出: YYYY-MM-DD HH:mm:ss
console.log(formatDateTimeLocalized(now)); // 输出: 本地化格式化的日期和时间字符串
console.log(formatDate(now)); // 输出: 星期、月、日、年的简短字符串
console.log(formatTime(now)); // 输出: 本地时间字符串
console.log(formatTimeShort(now)); // 输出: HH:mm:ss
在这个代码示例中,我们提供了几种不同的方法来格式化日期和时间。其中,formatDateTime
使用自定义函数来格式化日期为 "YYYY-MM-DD HH:mm:ss" 格式,formatDateTimeLocalized
使用 Intl.DateTimeFormat
来进行本地化格式化,formatDate
和 formatTime
分别使用 Date
对象的方法来格式化日期和时间。如果需要使用库(如moment.js),我们也提供了formatDateTimeMoment
函数作为示例。
评论已关闭