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

js发布时间按指定规则显示

时间:2020-09-16 12:43:13      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:pre   时间   cti   修改   天前   需求   get   完美   ret   

需求

给定发布评论的时间戳timestamp,
要求根据时间戳如下显示:
不足一分钟:刚刚,
满一分钟不足24小时:xx分钟前
过了0点:昨天,2天前,3天前……
超过三天:08-01(月-日)

代码

function getDateDiff(timestamp) {
  var prev = new Date(timestamp)
  var now = new Date;
  var dvalue = (now-timestamp)/1000|0;
  var minute = 60
  var day = 60*60*24
  // 不足24小时
  if(dvalue<day) {
    // 不在同一天显示昨天
    if(now.getDate() == prev.getDate()) {
      return dvalue < minute ? ‘刚刚‘ : ((dvalue/minute|0)+‘分钟前‘)
    }
    return ‘昨天‘;
  }
  if(dvalue <= 3*day) return dvalue > day ? (dvalue/day|0) + ‘天前‘ : ‘昨天‘;
  return prev.toISOString().slice(5,10)
}

问题
暂时感觉不太完美,当几小时前发布评论,则显示为了 例如:210分钟前,这个显示希望显示为“小时”为单位,修改待更。

js发布时间按指定规则显示

标签:pre   时间   cti   修改   天前   需求   get   完美   ret   

原文地址:https://www.cnblogs.com/ZerlinM/p/13605687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!