gpt4 book ai didi

用于人类友好的相对日期格式的 Javascript 库

转载 作者:bug小助手 更新时间:2023-10-28 10:42:31 24 4
gpt4 key购买 nike

我想以人性化的格式显示一些相对于当前日期的日期。

人类友好的相对日期示例:

  • 10 秒前
  • 20 分钟后
  • 1 天前
  • 5 周前
  • 2 个月前

基本上忠实地保留最高数量级(并且优先考虑,仅在超过其中 2 个单位时上调单位 - 5 周而不是 1 个月)。

虽然我可以接受一个控制较少且日期更友好的图书馆,例如:

  • 昨天
  • 明天
  • 上周
  • 几分钟前
  • 几个小时后

有任何流行的图书馆吗?

最佳答案

自从我写了这个答案,一个著名的可用库是 moment.js .


libraries available ,但自己实现它是微不足道的。只需使用少数几个条件。

假设 date 是一个实例化的 Date 对象,用于您要与之进行比较的时间。

// Make a fuzzy time
var delta = Math.round((+new Date - date) / 1000);

var minute = 60,
hour = minute * 60,
day = hour * 24,
week = day * 7;

var fuzzy;

if (delta < 30) {
fuzzy = 'just then.';
} else if (delta < minute) {
fuzzy = delta + ' seconds ago.';
} else if (delta < 2 * minute) {
fuzzy = 'a minute ago.'
} else if (delta < hour) {
fuzzy = Math.floor(delta / minute) + ' minutes ago.';
} else if (Math.floor(delta / hour) == 1) {
fuzzy = '1 hour ago.'
} else if (delta < day) {
fuzzy = Math.floor(delta / hour) + ' hours ago.';
} else if (delta < day * 2) {
fuzzy = 'yesterday';
}

您需要调整它以处理 future 的日期。

关于用于人类友好的相对日期格式的 Javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com