Работа с датой

cdi

Новичок
Работа с датой

Необходимо возвратить количество дней, часов, минут между двумя временными метками. Делаю так:

PHP:
$mktime1=mktime(0,0,0,10,25,2004);
$mktime2=mktime(0,10,0,10,25,2004);
$mktime3=$mktime2-$mktime1;
print date('z',$mktime3).' дней, '.date('G',$mktime3).' часов, '.date('i',$mktime3).' минут.';
Результат:

PHP:
0 дней, 2 часов, 10 минут.
Вопрос: откуда взялись часы и вообще как правильно реализовать подсчет дней, часов, минут между разными временными метками.
 

Фанат

oncle terrible
Команда форума
из летнего времени, к примеру.
делить и округлять.
 

crocodile2u

http://vbolshov.org.ru
Re: Работа с датой

Originally posted by cdi
PHP:
print date('z',$mktime3).' дней, '.date('G',$mktime3).' часов, '.date('i',$mktime3).' минут.';
эквивалентно:

PHP:
print date('z дней, G часов, i минут.',$mktime3);
PS: несколько не в тему, но зачем три раза вызывать функцию, если можно обойтись одним...
 

_RVK_

Новичок
Вот, нашел в мане:

"I think it is important to note that the timestamp returned is based upon the number of seconds from the epoch GMT, and then modified by the time zone settings on the server.

Thus...

mktime(0,0,0,1,1,1970) will not always return 0. For example with the US eastern time zone (GMT-5) will return 18000 (5 hours past the epoch) and the same function with the time zone set to the US pacific time zone (GMT-8) will return 28800 (8 hours past the epoch).

In an instance where you want time zone independence, you should use the function gmmktime()" (с) manual
 

cdi

Новичок
Тогда Кто-нибудь помогите скриптиком как правильно подсчитать дни,часы,минуты.
 

valyala

Новичок
cdi, вот тебе наводящие вопросы:
1) сколько секунд в минуте?
2) сколько минут в часе?
3) сколько часов в сутках?
 
Сверху