// 时间格式化
function padLeftZero(str) {
return ("00" + str).substr(str.length);
}
/**
* @param date 时间戳
* @param fmt 需要转换的时间格式:例如: 'yyyy-MM-dd hh:mm:ss'
* @example formatDate(new Date(),'yy-MM-dd hh:mm')
*/
function formatDate(date, fmt) {
// 年份
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
}
// 月份/日/时/分/秒 正则对象表
let o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
}
// 使用 for 去遍历 构造出来的 正则函数,并且对 时间搓 date进行匹配
for (let k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
let str = o[k] + '' // 转换成字符串
// 如果匹配到一位数,就直接输出,或者补个0
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
}
}
return fmt
}
Js 时间参数格式封装
于 2023-03-14 11:53:03 首次发布