How to create a friendly date format (for example “submitted 2 days ago”)
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I calculate relative time?
我想在我的社交网站上设置日期格式,就像digg.com和其他网站一样。在那里,你会看到非常友好的约会,例如:
- 刚才
- 3分钟前
- 一小时前
- 2周前
- 6个月前
- 等
在我全神贯注地创建这样一个东西之前,有没有人知道有什么现成的脚本,我只需插入一个日期戳,并根据它与当前时间的关系给出一个友好的日期文本?
PS:我需要在PHP中使用这个,但伪代码或其他语言也可以。
这是这个问题的副本。除了这个站点使用的代码之外,它还有许多关于如何完成这一点的代码示例。我看了一眼,似乎也有一个PHP实现发布在那里。
除此之外,如果您正在使用jquery,那么您可以使用类似于timeago插件的东西来进行客户端操作。它的优点是随着时间的推移更新文本,因此,如果您加载一个页面,它说"5分钟前发布",5分钟后再查看,它说"10分钟前发布"
感谢所有人的回答,并为重复的问题道歉。我在查找副本时没有找到它,因为我不知道要使用什么搜索词。
无论如何,由于stackoverflow使用的代码的php翻译,我的问题得到了解决。我在计算delta时做了一个微小的改变:
由于我将日期存储在MySQL中,作为GMT格式的时间戳,所以我必须使用相同的时间来计算当前时间。这使得时区成为中性比较,这正是我需要的。
您也可以在SQL中执行此操作:
在SQL中将日期时间转换为"n小时前"的最佳方法