28 lines
922 B
JavaScript
28 lines
922 B
JavaScript
export function formatDate(date, fmt) {
|
|
if(null != JSON.stringify(date) && 'null' != JSON.stringify(date) && undefined != JSON.stringify(date) && 'undefined' != JSON.stringify(date) && JSON.stringify(date) != '' && JSON.stringify(date).length > 0){
|
|
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 (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
|
|
} else {
|
|
return ''
|
|
}
|
|
}
|
|
|
|
function padLeftZero(str) {
|
|
return ('00' + str).substr(str.length)
|
|
}
|