格式化日期仅显示最小的最小相对时间段,即50s,1m,2h,3d等

时间:2016-10-08 20:45:55

标签: javascript date datetime momentjs

我试图根据unix时间戳显示最小的最小时间段。

示例:

  1. “50秒前”需要50秒。
  2. “65秒前”需要1米,因为它超过60秒就是几分钟。
  3. “65分钟前”需要1小时,因为60分钟就是几分钟。
  4. “25小时前”=> 1D。
  5. “8天前”=> 1瓦特
  6. ... 1mon(几个月)。
  7. ... 2y(多年)。
  8. 我尝试了一些像moment这样的库,即

    html/css

    但是这会返回一个“句子”,但这并不是我想要的。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你看过moment.js durations吗?你可以写一个这样的函数:

function segment(duration) {
  return duration.years() > 0 ? duration.years() + 'y' :
    duration.months() > 0 ? duration.months() + 'mon' :
    // ...
    duration.seconds() > 0 ? duration.seconds() + 's' : '';
}
segment(moment.duration(moment.diff(moment(),moment.unix(1440187622))))