简单方法实现
function formatDate (date, format) { // 加零 function add0 (num) { return num > 10 ? num : '0' + num } // 处理成需要格式 var weekString = ['日', '一', '二', '三', '四', '五', '六'] const formatObj = { yyyy: date.getFullYear(), yy: date.getFullYear() % 100, MM: add0(date.getMonth() + 1), M: date.getMonth() + 1, dd: add0(date.getDate()), d: date.getDate(), HH: add0(date.getHours()), H: date.getHours(), hh: add0(date.getHours() % 12), h: date.getHours() % 12, mm: add0(date.getMinutes()), m: date.getMinutes(), ss: add0(date.getSeconds()), s: date.getSeconds(), w: weekString[date.getDay()] } // 替换给出时间格式中的字符为值,得到期望输出 for (var k in formatObj) { format = format.replace(k, formatObj[k]) } return format }