2012-02-20 4 views
1

불행히도 DateTime::Diff을 사용할 수 없으며 현재 시간 형식을 datetime으로 변환하여 시간과 분을 구할 수 있습니다.PHP <5.3 시간의 차이 두 시간 시간 :: 분

// 2:11pm 2-20-2012 
$opendate = '2012-02-20T14:11:03-05:00'; 

// 6:22pm 2-20-2012 
$closedate = '2012-02-20T18:22:50-05:00'; 

$diff_date = $closedate - $opendate 

$diff_date은 '4 시간 11 분'과 같이 시간 :: 분 형식으로 표시하고 싶습니다. 그것은이에 도움이 될 것입니다 경우

은, 위의 포맷 시간에 다른 대안은 다음과 같습니다 유닉스 타임 스탬프

 $removeT = "T"; 
     $replaceSPACE = " "; 
//returns datetime like '2012-02-20 14:11:03' 
     $r = str_replace($removeT, $replaceSPACE, $opendate[$i]); 
     $r = substr($r, 0, 19); 
//returns datetime like '2012-02-20 18:22:50' 
     $s = str_replace($removeT, $replaceSPACE, $closedate[$i]); 
     $s = substr($s, 0, 19); 
+0

확인이 아웃이 당신이 필요로하는 무엇을 제공해야합니다 http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates- 사용 PHP는 –

답변

2

변환 모두, 다음 다른 하나를 뺍니다. 결과를 시간과 분으로 쉽게 변환 할 수 있습니다.

$secondsDiff = strtotime($closedate) - strtotime($opendate); 
+0

좋아, 메신저 PHP에 아주 새로운,하지만 내 이해에서 그 시간을 "가치"를 사용하여 UNIX로'mktime()'를 변환하겠습니까? – ToddN

+0

이것은 아름답게 작동합니다. 이렇게하면 초 단위로 변환됩니다. 나는 시간과 분을 알아 내기 위해 수학을 할 것입니다. 감사합니다. – ToddN

+0

구성 요소 (시, 분, ...)가있을 때마다'mktime()'을 사용합니다. 'strtotime()'은 형식화 된 시간 문자열을 시간 소인으로 구문 분석하려고 시도합니다 ('date()'와 함께 사용하면 유용합니다). – KingCrunch