JS中使用new Date().Format("yyyy-MM-dd")
进行日期格式化时,会出现报错的问题。这是因为JS本身不支持Date对象的Format方法。要正确地格式化日期,需要使用JS的日期对象的原型扩展prototype方法。
具体的解决方法是:通过扩展JS中日期对象的原型,自定义一个Format方法,将日期格式化成所需要的字符串形式。以下是代码示例。
// 扩展JS中日期对象的原型方法,自定义Format函数
Date.prototype.Format = function(fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
}
// 使用自定义的Format方法格式化日期
var date = new Date();
var dateStr = date.Format("yyyy-MM-dd");
alert(dateStr); // 控制台输出 "2021-02-25"
通过以上的代码示例,我们可以轻松地使用JS中自定义的Format方法,以想要的格式格式化日期。
有时候在使用这种方法时,也会遇到报错的问题。这种情况一般是因为在日期格式中使用了不支持的字符导致的。下面我们给出一个使用错误的代码示例。
var date = new Date();
var dateStr = date.Format("yyyy-MM-dd hh:mm:ss");
alert(dateStr); // 控制台报错 "Uncaught TypeError: Invalid time value"
上面的代码报错是因为在日期格式中使用了"hh"这个不支持的字符。这时候需要把"hh"改成"HH",即使用24小时制的小时数,代码改成以下方式即可通过。
var date = new Date();
var dateStr = date.Format("yyyy-MM-dd HH:mm:ss");
alert(dateStr); // 控制台输出 "2021-02-25 19:10:25"
以上就是关于JS中new Date().Format("yyyy-MM-dd")
报错的解决攻略,希望可以对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中new Date().Format(“yyyy-MM-dd”) 报错的解决 - Python技术站