2014-05-01 24 views
1

說我有一些職位,他們都有他們提交的時間。如何查看東西的年齡

現在我想要做的是檢查他們在幾分鐘內發佈多久。例如,帖子1是在40分鐘前發佈的,帖子2是在479分鐘前發佈的,依此類推......

當然,我會在循環中運行那個$data數組,但暫時它是可以理解的。而且時間還包括一個時間戳,因此而不僅僅是包含日期和時間的時間。

PHP:

$data = ["POST1"=>"3:10PM","POST2"=>"3:40PM","POST3"=>"4:20PM","POST4"=>"5:15PM"] 

HTML:

<div> 
<p><?php echo $data[0] ?><p> 
</div> 

回答

2

這裏是會幫助你:

<?php 

function time_elapsed_string($datetime, $full = false) { 
    $now = new DateTime; 
    $ago = new DateTime($datetime); 
    $diff = $now->diff($ago); 

    $diff->w = floor($diff->d/7); 
    $diff->d -= $diff->w * 7; 

    $string = array(
     'y' => 'year', 
     'm' => 'month', 
     'w' => 'week', 
     'h' => 'hour', 
     'i' => 'minute', 
     's' => 'second', 
    ); 
    foreach ($string as $k => &$v) { 
     if ($diff->$k) { 
      $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : ''); 
     } else { 
      unset($string[$k]); 
     } 
    } 

    if (!$full) $string = array_slice($string, 0, 1); 
    return $string ? implode(', ', $string) . ' ago' : 'just now'; 
} 

$date = date_parse_from_format('Y-d-m H:i:s', '2014-02-05 5:22:35'); 
$unixTimestamp = mktime(
    $date['hour'], $date['minute'], $date['second'], 
    $date['month'], $date['day'], $date['year'] 
); 

echo time_elapsed_string(date('Y-m-d H:i:s',$unixTimestamp), false); 

here是你工作的小提琴。

+0

我喜歡它如何輸出4個月,但有沒有辦法只輸出幾分鐘? – ThinkkSo

+0

'$ data [0]'有什麼價值? – Guns

+0

讓我們說它持有2014-28-04 5:22:35日期是(y'd'm)。但我想知道即使時間戳是從2013年我希望它在幾分鐘內顯示 – ThinkkSo