Задать вопрос

Почему выдается разница во времени между одной и той же 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.
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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