1、处理自定义的日期格式,返回今天、明天
//转换时间
formatDate(time,fmt){
var fmt = fmt || 'yyyy-MM-dd HH:mm:ss';
var time = time ? new Date(time) : new Date();
var o = {
"M+" : time.getMonth()+1, //月份
"d+" : time.getDate(), //日
"H+" : time.getHours(), //小时
"m+" : time.getMinutes(), //分
"s+" : time.getSeconds(), //秒
"S" : time.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (time.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
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;
}
compareTime(Bdate) {
let ctDate = formatDate(Bdate)
let ctTime = new Date(ctDate).getTime() //获取历史消息时间
let tDate = formatDate(new Date(), 'yyyy-MM-dd')
let tTime = new Date(tDate).getTime() //获取当天凌晨时间
let oneTime = 24 * 60 * 60 * 1000
let yTime = tTime - oneTime //昨天
console.log(ctTime, '----------', tTime)
if(ctTime >= tTime) { //今天
return '今天 ' + formatDate(ctTime, 'HH:mm')
}else if( ctTime < tTime && ctTime >= yTime ) {
return '昨天 ' + formatDate(ctTime, 'HH:mm')
}else {
return Bdate
}
}
2、调用示例
let time = '2023-02-14 15:54:37'
let result = compare(time)