JS把指定日期转换为几秒前、几小时前等格式

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

JS把指定日期转换为几秒前、几小时前等格式, 转换后的时间可读性更强。

Date.prototype.toRelativeTime = function(now_threshold) {
  var delta = new Date() - this;

  now_threshold = parseInt(now_threshold, 10);

  if (isNaN(now_threshold)) {
    now_threshold = 0;
  }

  if (delta <= now_threshold) {
    return '刚刚';
  }

  var units = null;
  var conversions = {
    '毫秒': 1, // ms    -> ms
    '秒': 1000,   // ms    -> sec
    '分钟': 60,     // sec   -> min
    '小时':   60,     // min   -> hour
    '天':    24,     // hour  -> day
    '月':  30,     // day   -> month (roughly)
    '年':   12      // month -> year
  };

  for (var key in conversions) {
    if (delta < conversions[key]) {
      break;
    } else {
      units = key; // keeps track of the selected key over the iteration
      delta = delta / conversions[key];
    }
  }

  // pluralize a unit when the difference is greater than 1.
  delta = Math.floor(delta);
  return [delta, units].join(" ");
};

示例代码:

var d = new Date('2015-01-04 08:09:00'); alert(d.toRelativeTime()+'之前');