2016-07-28 6 views
1

Ich habe diesen Code, der zeigt, wenn ein 'Thema' gepostet wurde, aber es zeigt in Tagen, also zum Beispiel, wenn es heute gepostet wurde, wird es vor 0 Tag (e) zeigen .. wie kann ich es machen zu zeigen, wenn es jetzt zum Beispiel vor 1 Minute angezeigt wurde und nach 60 Minuten in Stunden bis 24 Stunden zu erhöhen und danach automatisch in Tagen zu ändern, wie es jetzt ist .. Mein Code:Timestamp x Stunden und Tage nach 24h

<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

Ich denke, Sie suchen nach Carbon? http://carbon.nesbot.com. Beispiel von ihrer Seite: echo Carbon :: now() -> subMinutes (2) -> diffForHumans(); // '2 minutes ago'' – charmeleon

Antwort

1

Sie diese Funktion nutzen zu können:

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"; 
} 

Beispielaufruf:

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

Es wird auch zwischen Singular und Plural unterscheiden.

+0

Danke, Mann! hat funktioniert! –

+0

kannst du mir bitte dabei helfen? :) http://stackoverflow.com/questions/38655764/pagination-limit-per-page-pdo –