JS把指定日期转换为几秒前、几小时前等格式详解编程语言

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

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10004.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论