【问题标题】:PHP Timestamp display seconds [duplicate]PHP时间戳显示秒[重复]
【发布时间】: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...

标签: php timestamp


【解决方案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 秒。

【讨论】:

    猜你喜欢
    • 2012-09-03
    • 2015-09-22
    • 1970-01-01
    • 2021-01-04
    • 2021-11-20
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2012-09-19
    相关资源
    最近更新 更多