如何创建友好的日期格式(例如“2 天前提交”)

2022-08-31 01:15:26

可能的重复:
如何计算相对时间?

我想在我的社交网络应用程序上设置日期格式,就像 Digg.com 和其他网站一样。在那里,你会看到非常友好的日期,例如:

  • 刚才
  • 3 分钟前
  • 1小时前
  • 2 周 前
  • 6个月前

在我考虑创建这样的东西之前,有没有人知道任何现成的脚本,我只需插入一个日期戳,并根据它与当前时间的关系给出一个友好的日期文本?

PS:我在PHP中需要这个,但是伪代码或任何其他语言也很好。


答案 1

这是这个问题的重复。除了这个网站使用的代码外,它还有大量的关于如何实现这一目标的代码示例。我瞥了一眼,似乎还有一个PHP实现发布在那里。

除此之外,如果您使用的是jQuery,则可以使用timeago插件之类的东西来执行此客户端。它的优点是随着时间的流逝而更新文本,因此,如果您加载页面并且显示“5分钟前发布”并在5分钟后再次查看,则会显示“10分钟前发布”


答案 2

感谢大家的回答,并对重复的问题表示抱歉。当我在寻找它时,我没有找到重复项,因为我真的不知道要使用什么搜索词。

无论如何,由于stackoverflow使用的代码的PHP翻译,我的问题得到了解决。我在计算增量时做了一个微小的改变:

$delta = strtotime(gmdate("Y-m-d H:i:s", time())) - $time;

由于我在MySQL中将日期存储为GMT格式的时间戳,因此我必须使用相同的时间来计算当前时间。这使得时区中立的比较,这正是我的情况所需要的。


推荐