jquery格式化日期
jQuery 格式化日期的方法
jQuery本身没有内置的日期格式化函数,但可以通过JavaScript的Date对象结合字符串操作或第三方库来实现日期格式化。以下是几种常见方法:
使用原生JavaScript
通过JavaScript的Date对象方法手动拼接日期字符串:

var date = new Date();
var formattedDate =
date.getFullYear() + '-' +
('0' + (date.getMonth() + 1)).slice(-2) + '-' +
('0' + date.getDate()).slice(-2);
console.log(formattedDate); // 输出:2023-09-20
扩展jQuery工具方法
通过$.extend扩展jQuery工具方法,方便复用:

$.extend({
formatDate: function(date, format) {
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
format = format.replace('dd', ('0' + day).slice(-2));
format = format.replace('MM', ('0' + month).slice(-2));
format = format.replace('yyyy', year);
return format;
}
});
// 使用示例
var today = new Date();
console.log($.formatDate(today, 'yyyy-MM-dd')); // 输出:2023-09-20
使用第三方库
推荐使用成熟的日期处理库如moment.js或date-fns:
使用Moment.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
var formattedDate = moment().format('YYYY-MM-DD');
console.log(formattedDate); // 输出当前日期,如2023-09-20
</script>
使用date-fns
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>
<script>
var formattedDate = dateFns.format(new Date(), 'yyyy-MM-dd');
console.log(formattedDate);
</script>
自定义格式化函数
封装一个支持多种格式的函数:
function formatDate(date, format) {
var 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, function(matched) {
return map[matched];
});
}
// 使用示例
console.log(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss'));
注意事项
- 原生JavaScript方法适用于简单场景,但需手动处理补零。
- 第三方库功能更全面,适合复杂日期操作(如时区、本地化)。
- 在旧版浏览器中需注意
Date方法的兼容性,必要时引入polyfill。






