/**
* 时间格式化
* @param {*} value 时间
* @param {*} fmt 格式
* 使用举例: formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
*/
export function formatDate(value, fmt) {
if (!value) {
return '';
}
let date = new Date(value);
if (date === 'Invalid Date') {
date = new Date(parseFloat(value));
}
if (!fmt) {
fmt = 'yyyy-MM-dd hh:mm:ss';
}
const o = {
'M+': date.getMonth() + 1, // 月份
'd+': date.getDate(), // 日
'h+': date.getHours(), // 小时
'm+': date.getMinutes(), // 分
's+': date.getSeconds(), // 秒
'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
S: date.getMilliseconds(), // 毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (`${date.getFullYear()}`).substr(4 - RegExp.$1.length));
}
Object.keys(o).forEach((k) => {
if (new RegExp(`(${k})`).test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : ((`00${o[k]}`).substr((`${o[k]}`).length)));
}
});
return fmt;
}