首页 > 代码库 > js处理时间(2016-9-16)的函数

js处理时间(2016-9-16)的函数


 function(time){
    var msOfDay = 24 * 3600 * 1000;
    var msOfHour = 3600 * 1000;
    var msOfMinute = 60 * 1000;
    if (!time) {
      return "未知时间";
    }
    //求时间差:
    time = new Date(time.replace(/-/g, "/")); //开始时间
    if (time.toJSON() == null) {
      return "未知时间";
    }
    // return time;

  var now = new Date(); //结束时间
  var diff = now.getTime() - time.getTime() //时间差的毫秒数
  if (diff < 0) {
    return "1分钟前";
  }
  //计算出相差天数
  var days = Math.floor(diff / msOfDay);
  if (days >= 7) {
    return $filter(‘date‘)(time, ‘yyyy-MM-dd‘);
  } else if (diff / msOfDay >= 1) {
    return days + "天前";
  } else if (diff / msOfHour >= 1) {
    var hours = Math.floor(diff / msOfHour);
    return hours + "小时前";
  } else {
    var minute = Math.floor(diff / (60 * 1000));
    if (minute == 0){
      return "刚刚";
    }
    return minute + "分钟前";
  }
  
}

这里有一点药提一下 在ios的safary 浏览器里面 Date() 函数的格式不能带有“-” ,比如(2015-10-03) 这种格式会报参数错误;

  使用replace(/-/g, "/")把格式更换一下就可以了

js处理时间(2016-9-16)的函数