strftime("%Z")

Greendrake

Новичок
strftime("%Z")

На FreeBSDшном сервере strftime("%Z") даёт "MSD", а на винде - "Московское время (зима)".

Нужно чтобы на винде тоже выдавало "MSD", иначе тестирование скриптов на локалке ведёт к ошибкам. Пробовал играться с setlocale(LC_TIME, 'en') - ноль эмоций. Как быть?
 

tony2001

TeaM PHPClub
никак не быть.
не полагаться на имя таймзоны, т.к. оно разное в разных OS.
 

Greendrake

Новичок
Думаю где-то всё таки собака зарыта, так как например на винде date("T") - тоже выдаёт "Московское время (зима)" НО на 4-м PHP, а на 5 - выдаёт "MSD"!
Неужто в сам пятый PHP зашито соответствие? Не думаю.
 

Greendrake

Новичок
Дело в том что сервак апач в заголовке Last-Modified передаёт именно зону, а не смещение, соответственно браузер отвечает в заголовке If-Modified-Since тем же самым, и скрипт вынужден проверять как раз зону.
Другое дело, может зону генерировать из смещения? Как можно это?
 

tony2001

TeaM PHPClub
>Неужто в сам пятый PHP зашито соответствие? Не думаю.
да.
начиная с 5.1.x в PHP своя база таймзон.
 
Сверху