怎样才能使用jQuery格式化日期?例如,直接使用下面的代码会错误:
$("#txtDate").val($.format.date(new Date(), 'dd M yy'));
可以使用jquery的插件,如果不想使用jQuery插件的话,使用下面这个方法就可以了
$.date = function(dateObject) {
var d = new Date(dateObject);
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
var date = day + "/" + month + "/" + year;
return date;
};
//使用
$.date(yourDateObject);
第一种方法:使用jQuery插件 dateFormat
第二种方法:在页面中添加jQuery UI插件。
$("#txtDate").val($.datepicker.formatDate('dd M yy', new Date()));
第三种方法:定义Date函数:
var formattedDate = new Date("yourUnformattedOriginalDate");
var d = formattedDate.getDate();
var m = formattedDate.getMonth();
m += 1; // JavaScript months are 0-11
var y = formattedDate.getFullYear();
$("#txtDate").val(d + "." + m + "." + y);
希望对题主有所帮助,望采纳!
默认的 jquery 是没有 $.format 的,这个是别人写的插件,没有引入对应的代码就用不了这个方法。
给你一个能直接调用的方法吧:
```javascript
/**
* 格式化显示日期时间
* @param date 日期对象
* @param format 模板(sample "yyyy-MM-dd HH:mm:ss SSS")
*/
function dateFormat(date, format) {
if (!date) return "";
date = new Date(date);
let o = {
"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() // 毫秒
};
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (let k in o)
if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return format;
}
$("#txtDate").val(dateFormat(new Date(), "dd M yy"));
```
想要以jquery插件形式修改 可以看这篇文章参考: Jquery $.formatDate 日期格式_TH_NUM的博客-CSDN博客_jquery设置date格式