![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Недавно натолкнулся вот на что.
Получаю кое-какой таймстамп (для пример он будет равен 600 = 10 минут), затем вывожу его, вот так: date('H-i-s', $timestamp); И получаю 03-10-00, т.е. 3 часа откуда-то взялись. Это смещение от GMT, но вопрос вот в чем: почему тогда date без timestamp-параметра cдвига GMT не происходит? date('H-i-s') - выводит мое локальное время и не прибавляет 3 часа. Путаница ведь какая-то. Это сообщение отредактировал(а) flashaa - 10.1.2008, 14:15 |
|||
|
||||
SqueeZe |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.10.2007 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Используй функцию gmdate() - параметры те же, что и у date(), но время по Гринвичу.
|
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing ![]() |
|||
|
||||
SqueeZe |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 1.10.2007 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
А когда используются отрицательные значения timestamp??? Никогда с таким не встречался. Ага. Проверил такой код:
Вывело "23:50:00", те получается, что он минусует от 24:00:00... интересно. Между прочим, как я понимаю замечание у меня не сработало, те видимо этот баг уже устранен. Это сообщение отредактировал(а) SqueeZe - 10.1.2008, 16:11 |
||||||
|
|||||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
SqueeZe не знаю), вот и привел отрывок из манула (не из головы выдумал я)
-------------------- Amazing ![]() |
|||
|
||||
SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Потому что таймстемп сам по себе по Гринвичу, а date всегда выводит локальное. В Вашем случае нулю часов десяти минутам по Гринвичу соответствуют 3:10. Только и всего. SqueeZe подсказал правильный выход ![]()
Это тут абсолютно ни при чем. Это касается дат до 1970 года. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Насколько я понял локальный time() всегда формируется с учетом гринвича.
Т.е. если сервер расположен в московской зоне, то time() сгенерирует метку на 3 часа большую чем реальное текущее московское время ) А если выведем date('H:i'), то парсер преобразует текущее время с учетом сдвига по GMT, т.е. смотрит чему равен этот сдвиг и вычитает его... потому каждый, запуская date() у себя на локальной машине видит "свое" время, в какой часовой зоне он не находился. При этом численные значения меток timestamp, означающих одно и то же время но в разных часовых поясах, - разные. Это сообщение отредактировал(а) flashaa - 10.1.2008, 22:14 |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Логично - по определению Unix timestamp-а, отсчет которого ведется именно с полуночи по Гринвичу. Хотя помню, как в свое время сам с этим намучился, так что назвать это "очевидным" не берусь ![]() -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Да, для меня было не очень очевидно, что как при генерации, так и при парсинге timestamp сервер опирается на свою временную зону.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |