字符串使用正则替换的技巧
function formatDate(oldDate, fmt) {let date = null;if (typeof oldDate === 'string' || typeof oldDate === 'number') {date = new Date(oldDate);} else {date = oldDate;}if (/(y+)/.test(fmt)) {fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').slice(4 - RegExp.$1.length))}let o = {"M+": date.getMonth() + 1,'d+': date.getDate(),'h+': date.getHours(),'m+': date.getMinutes(),'s+': date.getSeconds(),}function padLeftZero(str) {return ("00" + str).substr(str.length);}for (let k in o) {if (new RegExp(`(${k})`).test(fmt)) {let str = o[k] + '';fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str));}}return fmt;}
开发常用的库,dayjs
- tinydate, A tiny (349B) reusable date formatter. Extremely fast!
- You-Dont-Need-Momentjs
