欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

JavaScript日期格式化:支持yyyy-MM-dd等多种样式

最编程 2024-08-03 20:29:36
...
/** * 格式化函数 , 给日期格式化 * date为 new Date()对象, fmt为 'yyyy-MM-dd hh:mm:ss'的格式 */ function formatDate(date, fmt) { //获取年份 if (/(y+)/.test(fmt)) { // 把数字变成字符串 let dateY = date.getFullYear() + ""; //RegExp.$1 在判断中出现过,且是括号括起来的,所以 RegExp.$1 就是 "yyyy" fmt = fmt.replace(RegExp.$1, dateY.substr(4 - RegExp.$1.length)); } //获取其他 let o = { "M+": date.getMonth() + 1, "d+": date.getDate(), "h+": date.getHours(), "m+": date.getMinutes(), "s+": date.getSeconds(), }; for (const 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; } function padLeftZero(str) { return ("00" + str).substr(str.length); }