2013-01-23 6 views
0

가능한 중복 :
PHP: producing relative date/time from timestamps어떻게 PHP에서 시간 스크립트를 만들 수 있습니까?

내가 인터넷에 너무 많은 검색하지만 난 내가 어떻게 내가 게시하면 내가이 원하는 php.Exactly를 사용하여 시간 카운터를 만들 수 있습니다 찾을 수 없습니다 기사 그래서 나는이 기사가 웹 사이트에 게시되기 전에 얼마나 많은 시간을 사용자에게 보여주고 싶습니다.

첫 번째로 SECONDS로 시간을 표시합니다 (예 : 50 초 전).

두 번째로 60 초 후 MINUTES (예 : 1 분 전)로 시간을 표시합니다.

세 번째로 1 시간 후에 시간이 HOURS (예 : 2 시간 전)로 표시됩니다.

네 번째로 24 시간 후 DAYS에 시간이 표시됩니다 (예 : 4 일 전).

jquery로이 항목을 찾을 수도 있지만 Ajax로 PHP에서이 작업을 수행하려고합니다. 만약 내가 어떻게 PHP를이 일을 할 수있는 후 쉽게 내가 Ajax 함께 구현할 수 찾으십시오.

답변

1
function getTimeAgoStr($time) { 
    $since = abs(time() - $time); 

    $chunks = array(
     array(60 * 60 * 24 * 365 , 'year'), 
     array(60 * 60 * 24 * 30 , 'month'), 
     array(60 * 60 * 24 * 7, 'week'), 
     array(60 * 60 * 24 , 'day'), 
     array(60 * 60 , 'hour'), 
     array(60 , 'minute'), 
     array(1 , 'second') 
    ); 

    for ($i = 0, $j = count($chunks); $i < $j; $i++) { 
     $seconds = $chunks[$i][0]; 
     $name = $chunks[$i][1]; 
     if (($count = floor($since/$seconds)) != 0) { 
      break; 
     } 
    } 

    $print = ($count == 1) ? '1 '.$name : "$count {$name}s"; 
    return $print; 
} 
+0

잘 작동합니다. –

관련 문제