Снова проблема с переходом на летнее-зимнее время

Эдди

Новичок
Снова проблема с переходом на летнее-зимнее время

$begin=1256328000; // это 24 октября
$plus=7; //добавляем 7 дней к этой дате
$result=$begin+$plus*60*60*24; //получаем не 31, а 30 октября

Как решается эта проблема? Спасибо.

Вручную, что-ли корректировки вводить?
Или отказаться от сравнений timstamp и сравнивать только в формате дат?
 

Beavis

Banned
Re: Снова проблема с переходом на летнее-зимнее время

Автор оригинала: Эдди
$begin=1256328000; // это 24 октября
$plus=7; //добавляем 7 дней к этой дате
$result=$begin+$plus*60*60*24; //получаем не 31, а 30 октября

Как решается эта проблема? Спасибо.

Вручную, что-ли корректировки вводить?
Или отказаться от сравнений timstamp и сравнивать только в формате дат?
Да тут проблемы то и нет, код работает правильно. А если у нас используется летнее и зимнее время, то в коде должна быть логика, учитывающая это.
А вообще проще не секундами считать, а более человеческими средствами, например с помощью класса DateTime или ф-ции strtotime
 

Эдди

Новичок
Понял. ОК.
Просто помню, что видел не раз рекомендации сравнивать даты метками времени.
Они ТОЧНО заблуждались....
 

Фанат

oncle terrible
Команда форума
здесь нету никаких сравнений.
а рекомендации ты не понял
 

Эдди

Новичок
Автор оригинала: *****
здесь нету никаких сравнений.
а рекомендации ты не понял
Понял рекомендацию.

В запросе вместо WHERE $data=$begin+7*86400 сделаю
$data=$begin + INTERVAL 7 DAY

Не так?
 

Фанат

oncle terrible
Команда форума
если речь о mysql, то сравнивать метки времени действительно глупо.

описанная же в первом посте проблема, в которой нет никакого сравнения, решается функцией хрестоматийной функцией mktime
 

Эдди

Новичок
Автор оригинала: *****
если речь о mysql, то сравнивать метки времени действительно глупо.

описанная же в первом посте проблема, в которой нет никакого сравнения, решается функцией хрестоматийной функцией mktime
Теперь знаю:)

Все работает, спасибо...
 
Сверху