本文将介绍如何编写一个全面兼容的 JavaScript 时间格式化函数。该函数可以将时间格式化为指定的字符串,并且兼容 IE 6 及以上的浏览器。
首先,我们需要定义一个函数来进行格式化。该函数的参数为需要格式化的时间和格式化字符串,返回值为格式化后的字符串。
function formatDate(date, fmt) {
}
接下来,我们需要编写格式化逻辑。根据所需要格式化的字符串中的字符,我们可以区分不同的时间部分,例如年份、月份、日、小时、分钟、秒等。
function formatDate(date, fmt) {
var 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(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.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;
}
var date = new Date();
console.log(formatDate(date, "yyyy-MM-dd")); // 输出:2021-08-20
console.log(formatDate(date, "yyyy-MM-dd hh:mm:ss")); // 输出:2021-08-20 12:30:22
通过本文的学习,您已经掌握了如何编写一个全面兼容的 JavaScript 时间格式化函数。通过传入不同的时间和格式化字符串,该函数可以快速地将时间格式化为指定的字符串。同时,该函数还兼容了 IE 6 及以上的浏览器,是非常实用的代码。
本文链接:http://task.lmcjl.com/news/9723.html