sverel
Новичок
Разница во времени Москва-Лондон 3 часа? А вот и не всегда.
На сервере по умолчанию стоит TimeZone = Europe/Moscow.
Определяем разницу между Москвой и Лондоном.
Для начала сделаю 1 января 2011 года (что бы избавится от всяких переходов на летнее время):
Разница 3 часа – всё верно. А теперь всё то же самое, но для 1970 года.
Разница 2 часа. Как так? Может за 40 лет Лондон переместился в другой часовой пояс?
Для 1971 года тоже 2 часа, а вот для 1972 уже 3 часа.
Тестировалось на WindowsXP, php v5.2.14 и 5.3.3
На сервере по умолчанию стоит TimeZone = Europe/Moscow.
Определяем разницу между Москвой и Лондоном.
Для начала сделаю 1 января 2011 года (что бы избавится от всяких переходов на летнее время):
PHP:
$ny = mktime(3, 0, 0, 1, 1, 2011);
echo date('Y-m-d H:i:s', $ny); // 2011-01-01 03:00:00
date_default_timezone_set('Europe/London'); // true
echo date('Y-m-d H:i:s', $ny); // 2011-01-01 00:00:00
PHP:
$ny = mktime(3, 0, 0, 1, 1, 1970); // тут 0
echo date('Y-m-d H:i:s', $ny); // 1970-01-01 03:00:00
date_default_timezone_set('Europe/London');
echo date('Y-m-d H:i:s', $ny); // 1970-01-01 01:00:00
Для 1971 года тоже 2 часа, а вот для 1972 уже 3 часа.
Тестировалось на WindowsXP, php v5.2.14 и 5.3.3