首页 > Web开发 > 详细

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

时间:2016-09-19 17:34:42      阅读:123      评论:0      收藏:0      [点我收藏+]


 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)的函数

原文:http://www.cnblogs.com/zhaoweimin/p/5885621.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!