Почему выдается разница во времени между одной и той же timezone?

Почему вот такой код выдает разницу во времени:
$cur_tz = new DateTimeZone('Asia/Yekaterinburg');
$dt = new DateTime('now', $cur_tz);
$cur_tz2 = new DateTimeZone('Asia/Yekaterinburg');
$dt2 = new DateTime('now', $cur_tz2);  
echo $cur_tz2->getOffset($dt);

По моим ожиданиям результат должен быть 0, а я получаю 18000.
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
getOffset это не разница, а просто смещение в любом случае от UTC, только по "правилам" той таймзоны с которой "сравнивается". (Подразумевается видимо что-то вроде летнего или зимнего времени которое существует не везде)
php.net/manual/ru/datetimezone.getoffset.php

php.net/manual/ru/function.timezone-offset-get.php...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
romanko_vn
@romanko_vn
Причем тут разница, getOffset это смещение часовой зоны относительно UTC
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы