思路:使用一个对象表示标准格式与对象内容的对应,注意,其中同系列长的要在前面,因为要从前向后遍历,同时位数对齐也需要单独处理,最后遍历对象并使用replace方法依次替换即可。
function formatDate(date, format)
{
let addZero = function (data) {
if (data < 10) {
return '0' + data
}
return data
}
let obj = {
'yyyy': date.getFullYear(),
'yy': date.getFullYear() % 100,
'MM': addZero(date.getMonth() + 1),
'M': date.getMonth() + 1,
'dd': addZero(date.getDate()),
'd': date.getDate(),
'HH': addZero(date.getHours()),
'H': date.getHours(),
'hh': addZero(date.getHours() % 12),
'h': date.getHours() % 12,
'mm': addZero(date.getMinutes()),
'm': date.getMinutes(),
'ss': addZero(date.getSeconds()),
's': date.getSeconds(),
'w': function () {
arr = ['日', '一', '二', '三', '四', '五', '六']
return arr[date.getDay()]
}()
}
for (let i in obj) {
format = format.replace(i, obj[i])
}
return format
}
总结:getFullYear获取年份,getMonth获取月份(实际月份需要加一),getDate获取日期,getHours获取小时,getMinutes获取分钟,getSeconds获取秒数,getDay获取星期。



京公网安备 11010502036488号