js计算时间差以个性化显示日期时间

发布时间:2020-08-28编辑:脚本学堂
js计算时间差的一段代码,比如发表于多少分钟前,使日期显示比较人性化,js计算日期时间差的方法示例,需要的朋友参考下。

在有些页面中,显示一个友好的时间差,如:发表于2分钟前。

例子,javascript计算时间差的实现方法:
 

复制代码 代码示例:
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
 
function getdatediff(dateTimeStamp){
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
 
if(diffValue < 0){
   //非法操作
   //alert("结束日期不能小于开始日期!");
}
 
var monthC =diffValue/month;
var weekC =diffValue/(7*day);
var dayC =diffValue/day;
var hourC =diffValue/hour;
var minC =diffValue/minute;
 
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) +"分钟前";
 }else
   result="刚刚发表";
   return result;
}

如果原始数据不是时间戳,用以下函数把字符串转换为标准时间戳,它相当于JS版的strtotime,只不过精度不同而已。

代码:
 

function getDateTimeStamp(dateStr){
   return Date.parse(dateStr.replace(/-/gi,"/"));
}