2012-03-12 2 views
1

xx 일, xx 시간 및 분에 전에으로 타임 스탬프를 표시하는 방법이 많이 있지만 미래에는별로 보이지 않습니다. 내가 출력하고 싶은PHP로 xx 일/시간 xx 분으로 시작

이 유닉스 타임 스탬프에서

Starting in 2 days, 5 hours and 22 minutes 

: 1331596800

$timestamp = new DateTime(); 
    $timestamp->setTimestamp(1331596800); 
    $diff = $timestamp->diff(new DateTime()); 

    return $diff->format('%h hours, %i minutes'); 

뭔가 깨끗하고 내가 찾은 쉽게, 그러나 그것은 나에게 정확한 시간/분을 표시하지 않습니다.

어떻게하면됩니까?

+0

날짜를 잘못 지정했습니다. mroe 정보는 [내장 된'date' 함수] (http://php.net/manual/en/function.date.php)를보십시오. – mc10

답변

1

보십시오 :

date_default_timezone_set('Asia/Calcutta'); // set the TimeZone. I am from India. 

$today_date = new DateTime('now'); // now 
$final_date = new DateTime('2012-03-22 09:00'); // a date in the future 
$interval = $today_date->diff($final_date); // find the difference 

$time_left = $interval->format('%D days, %H hours, %I minutes, %S seconds'); // display it 

이 그냥 예입니다. 나는 당신이 코멘트에서 그것을 이해할 수 있기를 바랍니다.

+0

DateTime은 날짜 형식 지정 및 계산을 위해 단지 3 분의 1이지만 사용하는 함수와 사용하는 PHP의 버전을주의하십시오. – dmp

+0

@danp : 그래, 위의 PHP 5.3 작업이 필요합니다. 미안하지만, 나는이 부분을 가지고 있지 않았다 :'.. 단지'<3 ..', 당신이 위에서 언급 한 것. 정확하지 않니? 아니면 '날짜 형식에 적합한가?'라는 뜻입니까? –

+0

아,이 기능을 좋아한다는 것을 보여주는 마음이었습니다 :) 또는 ... & # x2665; 그게 너의 일이라면 (예 : 광 고라!) – dmp

0


이 내 응용 프로그램 중 하나에서 코드 조각입니다

$timestamp = 1331596800 - time(); $string = "Starting in ".date('d', $timestamp)." days, ".date('h', $timestamp)." hours and ".date('m', $timestamp)." minutes"; echo $string;

관련 문제