К списку форумов К списку вопросов
Потерялись 20 часов в PHP - КУДА?
Jup
24.04.2004 - 03:29
Мне надо немного поработать с датами в PHP. Сделать в общем простую вещь из текущего стампа получить стамп с нулевой секундой дня. Например, из
03:15 24.04.2004
получить
00:00 24.04.2004. Как это сделать? Можно извращаться со стандартными datetime-функциями. А можно в 3 арифметических действия, как я и сделал. В сутках
60*60*24=86400 секунд.
Поэтому, по идее, получаю то, что хочу выражением
floor(time()/86400)*86400.
Но! фишка в том, что куда-то теряется 20 часов, т.е. вместо
00:00 24.04.2004
я имею
04:00 23.04.2004.
nd
1 - 24.04.2004 - 03:50
вы заблуждаетесь в том, что считаете time=0 началом суток
посмотрите date('Y-m-d H:i',0);
Mips
2 - 24.04.2004 - 09:49
www.php.net/mktime
Jup
3 - 24.04.2004 - 11:46
2 nd: Я вовсе не считаю time()=0 началом суток, это начало Юниксовской эпохи. :)
2 Mips: Спасибо, замею свое извращение на mktime.
Кстати, убил полночи и догнал в чем дело. Дело в часовых поясах. Я отбрасывал часы у Гринвеческого времени, а при формировании из стампа строки времени date(...) автоматически пересчитывается на текущий (системный) часовой пояс, т.е. прибавляются 3 лишних (или скорее не лишних) часа :)

К списку вопросов на форуме Веб-дизайн

>>