2010-12-21 141 views

回答

1

有沒有內置該功能....但下列函數將做到這一點。

<?php 
function nicetime($date) 
{ 
    if(empty($date)) { 
     return "No date provided"; 
    } 

    $periods   = array("second", "minute", "hour", "day", "week", "month", "year", "decade"); 
    $lengths   = array("60","60","24","7","4.35","12","10"); 

    $now    = time(); 
    $unix_date   = strtotime($date); 

     // check validity of date 
    if(empty($unix_date)) { 
     return "Bad date"; 
    } 

    // is it future date or past date 
    if($now > $unix_date) { 
     $difference  = $now - $unix_date; 
     $tense   = "ago"; 

    } else { 
     $difference  = $unix_date - $now; 
     $tense   = "from now"; 
    } 

    for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) { 
     $difference /= $lengths[$j]; 
    } 

    $difference = round($difference); 

    if($difference != 1) { 
     $periods[$j].= "s"; 
    } 

    return "$difference $periods[$j] {$tense}"; 
} 

$date = "2009-03-04 17:45"; 
$result = nicetime($date); // 2 days ago 

?> 
-1
$date = "2009-03-04 17:45"; 
$result = nicetime($date); 

只會返回2 Days Ago

但如果u想要得到像1秒前的結果,10秒前,U還需要在$日期添加秒

$date = "2009-03-04 17:45:20"; 
$result = nicetime($date); 

所以,當你添加一個新的數據庫條目,並立即刷新頁面,你會得到結果爲1秒前