码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-09-19 17:36:55      阅读:113      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!