2012-10-16 43 views
-1

我在數據庫中存儲了一個日期爲「15-10-2012」,同時在前端顯示日期不超過一天。我需要顯示2分鐘的年齡, 5小時前等5分鐘前在php

我該如何做到這一點? 在此先感謝。

輸入

15-10-2012 

輸出

"2 days ago" 
+0

[計算並顯示日期爲'secs ago','mins ago','hours ago'等]( http://stackoverflow.com/q/2452010) –

+0

[計算兩個日期之間的時間差,並提出像「2天3小時前」的答案](http://stackoverflow.com/q/432398) –

+0

可能的重複[計算兩個日期之間的時間差,並提出像「2天3小時前」的答案]](http://stackoverflow.com/questions/432398/calculate-time-difference-between-two-dates-and-present答案像2天) – MrCode

回答

0

首先計算從日期Unix時間戳,然後從當前時間和。減去轉以分鐘/小時/天的差異。

list($day,$month,$year) = explode('-', $date); 
$time = mktime(0,0,0,$month,$day,$year); 
$now = time(); 
$difference = $now - $time; 
$minutes = intval($difference/60); 

$hours = intval($minutes/60); 

if ($hours > 24) { 
    $days = intval($hours/24); 
} 
+0

但是,這不會做他想做的,是嗎? –

0

(假設日 - 月 - 年)

2分鐘前:

echo date('j-n-Y',strtotime('15-10-2012') - 120);

或者:

回波日期( 'J-正Y',的strtotime('15 -10-2012 -2分鐘));

真的你的開始日期應該是一個時間戳到第二個。如果僅存儲日/月/年,那麼您需要假設每個日期開始於00:01

+0

什麼-120代表什麼? – Manoj