如何创建友好的日期格式(例如“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 格式化日期
如何将字符串类型的日期转换为另一种日期格式。 |颤振 |飞镖[重复]