Системеное время

Vidock

Новичок
Системеное время

Ни чего не понимаю, начну с платформы:
Win 2k3 r2
Apache 2.x
php 5.x

допустим время в системе 10-00-00 (правильно)

при выполнении скрипта с возвратом времени, время возвращается: 09-00-00 (НО ПОЧЕМУ???).
Глюки начались после перевода часов на летнее время. В системе отключаю автоматический перевод времени, выполняю скрипт, и вот оно: 10-00-00. Но с таким же успехом, я могу к времени прибавить 3600 секунд. Но думаю- это не есть правильно, ведь время должно возвращаться с учетом летнего/зимнего, а не ручками часы прибавлять/отнимать, или я не прав? :confused:
 

Vidock

Новичок
Т.е. ты хочешь сказать, что время ни кто не переводит))) Ты меня по-моему (это слово пишется именно так) не понял, у меня скрипт возвращает(отображает, выводит, и т.п.) время, без учета летнего, т.е. на час меньше. Но системное время в win, с учетом этого часа
 

Фанат

oncle terrible
Команда форума
почему ты считаешь, что разница в час вызвана летним временем, а не другими факторами? а не, скажем, географическим положением и часовым поясом?
 

Vidock

Новичок
1. Часовой пояс выставлен правильно
2. Проблемы начались после перевода времени
3. Проблема исчезает, если в win отключаешь "автоматический переход на летнее время и обратно"
 

Фанат

oncle terrible
Команда форума
о. вот это серьезная информация.

тогда предоставляй такую:
что ты называешь "системным временем"? о чем вообще речь? каком конкретно действии? time в шелле?
 

Vidock

Новичок
Системное время- это время в OS. Насколько я знаю, есть аппаратное время и системное.
Время date("H:i:s") в скрипте, не совпадает со временем в консоли "Echo %time%", ровно на час.
 

Vidock

Новичок
;date.timezone закомментирован, но думаю дело не в нем, т.к. существует прямая зависимость от автоматического перевода времени.
 

findnext

Новичок
выполни date_default_timezone_get(), результат напиши сюда

-~{}~ 09.04.09 01:21:

т.к. существует прямая зависимость от автоматического перевода времени
если такая проблема существует то причину нужно искать в твоём компе а не в пхп

-~{}~ 09.04.09 01:22:

у тебя на компе походу неправильный часовой пояс поставлен, оттуда и идёт неправильное время
 

dimagolov

Новичок
findnext, тебе орбит или что?
Читаем внимательно http://www.php.net/manual/en/datetime.configuration.php и http://www.php.net/manual/en/datetime.installation.php и выясняем, что время, которое PHP считает "правильным" и используется в ф-ях работы со временем это не чисто системное время (хотя бы из тех соображений, что узнать из него время UTC/GMT невозможно без знания таймзоны), а полученое в результате преобразований основываясь на настройках таймзоны и !!! базы таймзон !!!. А в ней, кстати, находится постоянно изменяющаяся инфа о времени добавления/убавления "летних" часов, которая меняется в куче регионов ежегодно.
 

findnext

Новичок
dimagolov
проблема должна решиться если заменить php_timezonedb.dll на новую? я правильно понял?

-~{}~ 09.04.09 11:41:

да...с выводами я поторопился в предыдущем посте. Сейчас ради интереса попробовал создать ситуацию где бы консольное время отличалось от времени в скрипте. Присвоив date.timezone в php.ini зону (пробовал подставлять любые) у меня получилось добиться различий во времени так же как и у ТС. Отсюда напрашивается вывод -> Vidock а ты увурен что правильный php.ini смотрел?
 

Vidock

Новичок
findnext
Как я уже говорил date.timezone закомментирован в php.ini. Поэкспериментировать, к сожалению, смогу только завтра, т.к. нет под рукой. В каком смысле "правильный"?
 

findnext

Новичок
Vidock
может у тебя на компе 2 php.ini фаила, один лежит там где надо а другой в win директории и ты мог ошибиться и посмотреть тот фаил который пхп не использует. Это всего лишь предположение
 

Vidock

Новичок
findnext
Нет, к сожалению. Проверял в http.conf ссылается именно на нужный мне php.ini. Но надеюсь на совет dimagolov, что после того, как в date.timezone укажу часовой пояс, проблема будет устранена.

-~{}~ 10.04.09 01:20:

findnext
dimagolov
Спасибо за помощь, проблема устранена после указания часового пояса в date.timezone !!!!
 
Сверху