2012-02-20 1 views
1

К сожалению, я не могу использовать DateTime::Diff и ищу способ преобразования моего текущего формата даты и времени, чтобы я мог вычесть и найти разницу в часах и минутах, примерно так:PHP <5.3 Разница между двумя часами: min

// 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- using-php –

ответ

2

Преобразовать как для UNIX-метки времени, а затем вычесть один из другого. Вы можете легко преобразовать результат в часы и минуты.

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

Ok im очень новый для php, но из моего понимания я бы преобразовал эти значения времени в UNIX с помощью 'mktime()'? – ToddN

+0

Это работало прекрасно, это преобразует его в секунды. Я сделаю математику, чтобы понять, сколько часов и минут вам спасибо. – ToddN

+0

Вы используете 'mktime()', когда у вас есть каждый компонент времени (час, минута, ...) самостоятельно. 'strtotime()' пытается проанализировать отформатированную временную строку в метку времени (весьма полезна в сочетании с 'date()'). – KingCrunch

 Смежные вопросы

  • Нет связанных вопросов^_^