PHP时间戳显示秒[重复]

Posted

技术标签:

【中文标题】PHP时间戳显示秒[重复]【英文标题】:PHP Timestamp display seconds [duplicate] 【发布时间】:2012-04-24 12:30:09 【问题描述】:

可能重复:Converting timestamp to time ago in php e.g 1 day ago, 2 days ago

我正在尝试通过 php 显示帖子的年龄。我正在做的是使用下面的代码将 php 时间戳存储在 mysql 中。

$timestamp=time();

那么我就剩下这样的数字了

1334216865

我将如何改变它,所以它会说例子:

8 秒前

如果您在 10 秒后刷新页面,它将显示:

18 秒前

我不确定如何将时间戳转换回时间以显示我的示例。

谢谢

【问题讨论】:

提示:时间戳是自 1970 年 1 月 1 日以来的秒数。 现在与一秒后的时间戳之间的差正好是 1... 【参考方案1】:

或者你可以做一个小“time_ago”函数:

function ago($time)  
    $timediff=time()-$time; 

    $days=intval($timediff/86400);
    $remain=$timediff%86400;
    $hours=intval($remain/3600);
    $remain=$remain%3600;
    $mins=intval($remain/60);
    $secs=$remain%60;

    if ($secs>=0) $timestring = "0m".$secs."s";
    if ($mins>0) $timestring = $mins."m".$secs."s";
    if ($hours>0) $timestring = $hours."u".$mins."m";
    if ($days>0) $timestring = $days."d".$hours."u";

    return $timestring; 

echo ago(1334214962);

【讨论】:

很棒的库,甚至没有阅读源代码就将其放入。喜欢它。搞定了。谢谢。【参考方案2】:
echo (time() - $post_timestamp) . " seconds ago";

非常简单。

【讨论】:

就像昨天早上,89531 秒前 :-) 我得到一个 - 示例:-2640 秒前 对于更复杂的显示,您需要分隔功能。但这不是他想要的。 :-) @TabathaM 检查你的$post_timestamp【参考方案3】:

只需再次运行 time() 函数并减去发布的时间 - 然后做一些算术来输出它已经持续了多长时间:每分钟 60 秒、每小时 60 分钟等......时间函数是多少秒因为很久以前的一些事件。因此,时间函数的每个增量都是 1 秒。

【讨论】:

以上是关于PHP时间戳显示秒[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php如何计算两个时间戳之间相差的日时分秒

在Java中将ISO 8601时间戳字符串转换为纪元秒[重复]

使用JS,时间戳数值怎么转换成日期

时间戳的函数中

13位时间戳转年月日时分秒

PHP获取时间戳类怎么写?