Как узнать сколько дней прошло с 01.01.2004 по 31.08.2004?

Astral Man

We Will Rock You
Как узнать сколько дней прошло с 01.01.2004 по 31.08.2004?

Как узнать сколько дней прошло с 01.05.2004 по 31.08.2004?

Если перевести в unix формат
1093896000 - 1073250000
и то что получилось разделить на 86400(секунд в сутках)

получается: 238.958333333
как получить точное кол-во дней?
 

Demiurg

Guest
>А так правильно делать?
правильно, ты нашел разницу между днями в секундах за счет перехода на зимнее/летнее время у тебя при делении вылезло не ровное число.
 

Astral Man

We Will Rock You
Автор оригинала: Demiurg
>А так правильно делать?
правильно, ты нашел разницу между днями в секундах за счет перехода на зимнее/летнее время у тебя при делении вылезло не ровное число.
А нету функции которая корректно определяет сколько дней?
Или это не критично?
 

Demiurg

Guest
функции нету, и в чем некорректность этого метода ?
 

IL78

Guest
извиняюсь, что снова влезаю, но...
1) почему бы при преобразовании в unix timestamp не отказаться от учета летнего/зимнего времени

echo (gmmktime(0,0,0,8,31,2004,0) - gmmktime(0,0,0,1,5,2004,0))/86400;

2) почему в названии топика стартовая дата 1 января, в первом посте - 1 мая, а разница высчитывается с 5 января? Чему верить?
 

Fire

Guest
Попробуй так:
PHP:
$dt1 = GregorianToJD(01,01,2004)
$dt2 = GregorianToJD(08,31,2004)
$raznitsa = $dt2-$dt1
 

Demiurg

Guest
Admiral
а ты не подумал о том, что даты могут быть в разных годах ?
 

Admiral

Guest
Originally posted by Demiurg
Admiral
а ты не подумал о том, что даты могут быть в разных годах ?
а я предложил конкретное решение поставленной задачи. даты в ней одного года. вычисляем номер одного дня, номер второго дня, вычислям разность.
 

Demiurg

Guest
Admiral
не оправдывайся, лучше скажи, чем первоначальное решение некорректно.
 

Фанат

oncle terrible
Команда форума
Admiral
Если есть общее решение, то НЕ НАДО после него предлагать частное.
 
Сверху