js 处理日期返回今天、明天

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值