2016-07-28 230 views
1

我有这段代码显示何时发布'主题',但它显示在几天内,例如,如果它是今天发布,那么它将显示0天前。我可以让它显示它现在是否显示,例如1分钟前显示,并在60分钟后增加到24小时后,以及在如今现在如何自动更改日期之后增加。 我的代码:时间戳x小时前和24小时后的日期

<h4><span class="label label-default"> 
    <?php 
    $start = date_create($row['timestamp']); 
    $end = date_create(); 
    $diff=date_diff($end,$start); 
    print_r($diff->days); 
    ?> 
day(s) ago</span></h4> 
+0

我认为你正在寻找碳? http://carbon.nesbot.com。来自他们网站的例子:'echo Carbon :: now() - > subMinutes(2) - > diffForHumans(); //'2分钟前' – charmeleon

回答

1

您可以使用此功能:

function diffString($diff) { 
    $units = ["year", "month", "day", "hour", "minute", "second"]; 
    $props = "ymdhis"; 
    foreach ($units as $i => $unit) { 
     $prop = $props[$i]; 
     $num = $diff->$prop; 
     if ($num) return "$num {$unit}" . ($num - 1 ? "s" : ""); 
    } 
    return "0 seconds"; 
} 

调用示例:

$start = date_create('2016-07-28 16:23'); 
$end = date_create(); 
$diff=date_diff($end,$start); 
echo diffString($diff) . " ago"; 

它将区分单数和复数。

+0

谢谢你!成功了! –

+0

你能帮我解决这个问题吗? :) http://stackoverflow.com/questions/38655764/pagination-limit-per-page-pdo –

相关问题