时间显示 1分钟内显示几秒前,1小时间内显示几分钟前,1天内显示几小时前,7天内显示几天前,其它显示真实时间...

源码如下:

/**
* 时间显示 1分钟内显示几秒前,1小时间内显示几分钟前,1天内显示几小时前,7天内显示几天前,其它显示真实时间
* @param  {string} format    格式
* @param  {int}    timestamp php时间戳
*/
function dateShow(timestamp){
	//如果传进来的是10位的时间戳 变成13位的
	if(timestamp.toString().length == 10) timestamp = timestamp * 1000  
	//如果到这一步,依然不是13位的时间戳,说明数据有问题
	timestamp = parseInt(timestamp)

	var jsdate=((timestamp) ? new Date(timestamp) : new Date());
	var nowdate=new Date();  //开始时间
	var tempdate=nowdate.getTime()-jsdate.getTime();  //时间差的毫秒数


	//计算出相差天数
	var days=Math.floor(tempdate/(24*3600*1000));
	if(days>=1 && days<7){
		return days+"天前";
	}

	//计算出小时数
	var hours=Math.floor(tempdate/(3600*1000));    //计算天数后剩余的毫秒数
	if(hours>=1 && hours<24){
		return hours+"小时前";
	}

	//计算相差分钟数
	var minutes=Math.floor(tempdate/(60*1000));         //计算小时数后剩余的毫秒数
	if(minutes>=1 && minutes<60){
		return minutes+"分钟前";
	}

	//计算相差秒数
	var seconds=Math.floor(tempdate/1000) ;  
	if(seconds<60){
		return seconds+"秒钟前";
	}       
	return jsdate.toLocaleString('chinese',{hour12:false});
}

使用示例:

console.log(dateShow(1520409790));

来源:jsfun.cn

 

转载于:https://my.oschina.net/u/192631/blog/1637890

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值