js计算时间差,几天前,几小时前...
timeago(dateTimeStamp){
var dateTimeStamp;
dateTimeStamp = new Date(Date.parse(dateTimeStamp.replace(/-/g, "/")));
// 将时间中的"-"替换为"/",之所以这样是因为Date()构造函数只有2012/3/10这种形式实现浏览器全兼容。
var date = dateTimeStamp.getTime();
var minute=1000*60; //把分,时,天,周,半个月,一个月用毫秒表示
var hour=minute*60;
var day=hour*24;
var week=day*7;
var halfamonth=day*15;
var month=day*30;
var now=new Date().getTime(); //获取当前时间毫秒
var diffValue=now - date;//时间差
var minC=diffValue / minute; //计算时间差的分,时,天,周,月
var hourC=diffValue / hour;
var dayC=diffValue / day;
var weekC=diffValue / week;
var monthC=diffValue / month;
var result = "刚刚";
if(monthC>=1){
result="" + parseInt(monthC) + "月前";
}
else if(weekC>=1){
result="" + parseInt(weekC) + "周前";
}
else if(dayC>=1){
result=""+ parseInt(dayC) +"天前";
}
else if(hourC>=1){
result=""+ parseInt(hourC) +"小时前";
}
else if(minC>=1){
result=""+ parseInt(minC) +"分钟前";
}
return {"result":result,};
},
在计算时间差的时候遇到一个问题,得到了负数值,这个跟时区有关系
可参考:https://www.cnblogs.com/fayin/p/8119023.html