2016-11-11 20 views
0

我使用這個功能PHP中使用humanTiming功能查找的時間,直到事件開始

function humanTiming ($time) 
{ 
    $time = $time - time() ; // to get the time since that moment 
    $time = ($time<1)? 1 : $time; 
    $tokens = array (
    31536000 => 'year', 
    2592000 => 'month', 
    604800 => 'week', 
    86400 => 'day', 
    3600 => 'hour', 
    60 => 'minute', 
    1 => 'second', 
    ); 

    foreach ($tokens as $unit => $text) 
    { 
     if ($time < $unit) continue; 
      $numberOfUnits = floor($time/$unit); 
      return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); 
    } 
} 

這是原來的一個稍作修改的版本,因爲我換這些以美元左右時間 - 時間(),使該函數會給我一個結果,告訴我一段時間,直到特定日期不是特定日期。

什麼,我試圖做的是,當時間小於1秒有它顯示「過期」,而不是當前默認的「1秒」

任何想法如何,我可以做到這一點? 非常感謝

盧克

+1

參見[碳](HTTP://carbon.nesbot它會讓你的生活更輕鬆。 –

+0

什麼是人類計時功能? – Raptor

+0

'$ time =($ time <1)? 1:$ time;'用'if替換($ time <1){return'expired';}' – cske

回答

1
$time = ($time<1)? 1 : $time; 

更換

if ($time < 1) { return 'expired';} 
0

您可以在循環之前做到這一點:

function humanTiming ($time) 
    { 
     $time = $time - time() ; // to get the time since that moment 
     $time = ($time<1)? 1 : $time; 
     $tokens = array (
     31536000 => 'year', 
     2592000 => 'month', 
     604800 => 'week', 
     86400 => 'day', 
     3600 => 'hour', 
     60 => 'minute', 
     1 => 'second', 
     ); 

     if($time < 1) return 'expired'; 

     foreach ($tokens as $unit => $text) 
     { 
      if ($time < $unit) continue; 
       $numberOfUnits = floor($time/$unit); 
       return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); 
     } 
    } 
相關問題