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

Posted

技术标签:

【中文标题】如何创建友好的日期格式(例如“2天前提交”)[重复]【英文标题】:How to create a friendly date format (for example "submitted 2 days ago") [duplicate] 【发布时间】:2010-10-14 18:50:29 【问题描述】:

可能重复:How do I calculate relative time?

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

刚刚 3 分钟前 一小时前 2 周前 6 个月前 等

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

PS:我在 php 中需要这个,但伪代码或任何其他语言也可以。

【问题讨论】:

【参考方案1】:

这是question 的副本。除了这个站点使用的代码之外,它还有一系列关于如何完成此操作的代码示例。我看了一眼,那里似乎也发布了一个 PHP 实现。

除此之外,如果您使用 jQuery,您可以使用类似 timeago 插件的东西来做这个客户端。它的优点是随着时间的推移更新文本,所以如果你加载一个页面并显示“5 分钟前发布”并在 5 分钟后再次查看,它会显示“10 分钟前发布”

【讨论】:

【参考方案2】:

您也可以在 SQL 中执行此操作:

Best way to convert DateTime to "n Hours Ago" in SQL

【讨论】:

【参考方案3】:

感谢大家的回答,对于重复的问题,我们深表歉意。我在查找时没有找到重复项,因为我真的不知道要使用什么搜索词。

无论如何,由于***使用的代码的PHP翻译,我的问题得到了解决。我在计算 delta 时做了一点小改动:

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

由于我将日期作为 GMT 格式的时间戳存储在 mysql 中,因此我必须使用它来计算当前时间。这可以进行时区中性比较,这正是我所需要的。

【讨论】:

以上是关于如何创建友好的日期格式(例如“2天前提交”)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用包含友好日期和月份的 DateFormatter 格式化日期

如何使用python将不同格式的日期转换为一种格式[重复]

如何将字符串类型的日期转换为另一种日期格式。 |颤振 |飞镖[重复]

如何最大限度地实现用户友好的日期输入? [关闭]

如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]

php将日期格式转换为mysql格式以进行插入[重复]