jquery格式化日期
jQuery 格式化日期的方法
jQuery 本身没有内置的日期格式化函数,但可以通过 JavaScript 的 Date 对象结合字符串操作或第三方库来实现日期格式化。以下是几种常用的方法:
使用 JavaScript 原生方法
JavaScript 的 Date 对象提供了一些基础方法获取日期的各个部分,可以手动拼接成需要的格式:
var date = new Date();
var formattedDate =
(date.getMonth() + 1) + '/' +
date.getDate() + '/' +
date.getFullYear();
console.log(formattedDate); // 输出类似 "5/21/2023"
自定义格式化函数
可以编写一个通用的日期格式化函数,支持灵活的格式:
function formatDate(date, format) {
const map = {
'yyyy': date.getFullYear(),
'MM': ('0' + (date.getMonth() + 1)).slice(-2),
'dd': ('0' + date.getDate()).slice(-2),
'HH': ('0' + date.getHours()).slice(-2),
'mm': ('0' + date.getMinutes()).slice(-2),
'ss': ('0' + date.getSeconds()).slice(-2)
};
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, matched => map[matched]);
}
var date = new Date();
console.log(formatDate(date, 'yyyy-MM-dd')); // 输出类似 "2023-05-21"
使用第三方库
如果需要更强大的日期处理功能,可以引入第三方库如 moment.js 或 date-fns:
Moment.js(已停止维护,但广泛使用)
// 引入 moment.js 后
var formattedDate = moment().format('YYYY-MM-DD');
console.log(formattedDate); // 输出类似 "2023-05-21"
date-fns(现代轻量替代)
// 引入 date-fns 后
import { format } from 'date-fns';
var formattedDate = format(new Date(), 'yyyy-MM-dd');
console.log(formattedDate); // 输出类似 "2023-05-21"
使用 jQuery 扩展
如果项目依赖 jQuery,可以扩展一个全局方法:

$.formatDate = function(date, format) {
const pad = num => ('0' + num).slice(-2);
return format
.replace(/yyyy/g, date.getFullYear())
.replace(/MM/g, pad(date.getMonth() + 1))
.replace(/dd/g, pad(date.getDate()))
.replace(/HH/g, pad(date.getHours()))
.replace(/mm/g, pad(date.getMinutes()))
.replace(/ss/g, pad(date.getSeconds()));
};
var date = new Date();
console.log($.formatDate(date, 'yyyy-MM-dd HH:mm:ss')); // 输出类似 "2023-05-21 14:30:45"
注意事项
- 原生 JavaScript 方法适用于简单场景,但代码量较多。
- 自定义函数可以灵活扩展,但需注意时区和本地化问题。
- 第三方库功能强大,但会增加项目体积。
- 时区处理需额外注意,尤其是国际化项目。






