Операция с датой

Avron2

Новичок
Мне нужно к текущей дате прибавить 3 дня.
PHP:
$day_limit = 3; 
$date_expired = date("Y-m-d H:i:s", time() + Date::DAY * $day_limit);     //Date::DAY (кол-во секунд в дне (Кохана))
Затем $date_expired записываю в БД (поле datetime).
Записываю в БД сегодня в 11:41 (2012-03-13)
В БД записывается "2012-03-16 04:41:12", хотя по идеи, должно быть "2012-03-16 11:41".
В чем может быть проблема?
 

Avron2

Новичок
Ставлю другое время - разница на 7 часов получается. Минуты и секунды правильные.
 

zerkms

TDD infected
Команда форума
Что такое "ставлю другое время"? В запросе дата у тебя указывается строкой. Если в базу записалась неправильная строка, то виновата не база (и вообще говоря - база тут вообще не при делах получается), а тот код, который эту строку генерировал. Неужели это не логично?

ps: перечитай свою подпись. Вот твой вопрос - задан неправильно
 

Linker

Новичок
До того как в БД писать, конечно посмотрели, что в переменной $date_expired?
 

zerkms

TDD infected
Команда форума
До того как в БД писать, конечно посмотрели, что в переменной $date_expired?
Конечно же нет. Вместо того, чтобы посмотреть что там за запросы выполняются гораздо проще задать вопрос на форуме, а самому в это время поиграть в тетрис :)
 

Avron2

Новичок
Хорошо. За БД забыли.
В переменной $date_expired время на 7 часов меньше чем должно быть.
PHP:
var_dump($date_expired);
Согласен что в вопрос не нужно было впутывать БД.
Все же почему такое происходит? Ранее таких проблем не возникало.
 

Linker

Новичок
А phpinfo(); в разделе "date" в поле "Default timezone" что пишет?
И ещё - это всё на винде?
 
Сверху