js计算两个时间差

最近做一个社区类小程序的时候,有一个时间差的需求,需要展示距当前时间多长,设计图如下:
js计算两个时间差_第1张图片
由于有二级评论,所以写了一个函数调用:直接上代码

 setTimeFn:function(time){
    var currentTime = new Date();//获取当前时间
    var timeStart = new Date(time.replace(/-/g, "/"));//将-转化为/,后台给我返回的是2019-10-15 15:17这种格式
    var timeSp = currentTime.getTime() - timeStart.getTime();
    var daySp = Math.floor(timeSp / (24 * 3600 * 1000));//计算出距离当前时间天数
    if(daySp==0){
      var leave1 = timeSp%(24*3600*1000);    //计算天数后剩余的毫秒数
      var hoursSp = Math.floor(leave1/(3600*1000));//计算出相差小时数
      if(hoursSp==0){
        var leave2 = leave1%(3600*1000);   //计算小时数后剩余的毫秒数
        var minutesSp = Math.floor(leave2/(60*1000));//计算相差分钟数
        if(minutesSp==0){
        	var leave3 = leave2%(60*1000);      //计算分钟数后剩余的毫秒数
           var secondsSp = Math.round(leave3/1000);
           console.log(secondsSp)
           return secondsSp +'秒前';
        }
        console.log(minutesSp)
        return minutesSp +'分钟前';
      }
      console.log(hoursSp)
      return hoursSp +'小时前';
    }
    return daySp +'天前';
  },

结果展示
js计算两个时间差_第2张图片

你可能感兴趣的:(前端开发)