Php 在网页中显示时间

Php 在网页中显示时间,php,javascript,jquery,datetime,Php,Javascript,Jquery,Datetime,我有一个页面,在那里我列出了一篇文章的所有评论。在每个注释旁边,我有一个完整格式的时间值,包括日期/时间(2010-01-02 11:11:20) 我知道我可以在显示它之前用PHP格式化它,所以它显示了 posted 40 secs ago posted 5 days ago 但是这样做效率不高,因为我将在生成页面后缓存该页面 在上,我看到他们有某种java脚本来显示它,所以它在客户端的浏览器上运行: 因此,基本上我需要一个在浏览器上运行的java脚本,而不是显示我的日期/时间显示“4小时

我有一个页面,在那里我列出了一篇文章的所有评论。在每个注释旁边,我有一个完整格式的时间值,包括日期/时间(2010-01-02 11:11:20)

我知道我可以在显示它之前用PHP格式化它,所以它显示了

posted 40 secs ago 
posted 5 days ago
但是这样做效率不高,因为我将在生成页面后缓存该页面

在上,我看到他们有某种java脚本来显示它,所以它在客户端的浏览器上运行:


因此,基本上我需要一个在浏览器上运行的java脚本,而不是显示我的日期/时间显示“4小时前发布”。欢迎提供所有帮助。

以parseDate方法接受的格式或作为date的构造函数参数输出日期。将它们放在一些稍后很容易被javascript框架(或您自己的方法)抓取的节点中,然后对这些抓取的值执行一些time/datediff方法并替换节点的内容。

听起来您想要这样做:

Timeago是一个jQuery插件,可以轻松支持自动更新模糊时间戳(例如“4分钟前”或“大约1天前”)

我进一步引述:

  • 避免使用日期为“1分钟前”的时间戳,即使页面是在10分钟前打开的;timeago会自动刷新

  • 您可以在web应用程序中充分利用页面缓存,因为时间戳不是在服务器上计算的

因此,它应该适合您的需要。

您可以在呈现页面时将页面的“时间戳”放入页面中。这是不变的固定时间。请查看PHP的
time
函数。它为您提供UNIX时代开始后的秒数

然后,当页面运行时,使用Javascript的
Date
对象。它封装了类似的东西。在新的Javascript日期对象上执行
getTime()
,这将使您从UNIX时代起获得秒数

从另一个中减去一个,得到从那时到现在所经过的时间,然后做任何你需要的漂亮的格式化,使它显示在你的页面上


编辑:另请参见Felix关于timeago的回答,这是一个很好的工具,可以自动完成此过程的后半部分。

这不是javascript,只是html:

今天

+1-这个插件的发现很好。似乎完美地解决了OP的问题。+1几天前我看到了这个插件,并一直期待在即将到来的项目中使用它。非常好的解决方案。Thx,有趣的一点:我在右边的专栏中看到了广告(几周前);)谢谢大家。我倾向于忽略广告,我想我错了:)