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()+'之前');

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

JS金额格式化详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。