Может быть несколько причин, почему это происходит, и мы не можем сказать вам, почему, потому что мы не знаем ваше приложение, поскольку оно может где-то изменить часовой пояс во время выполнения.
Вместо этого вы должны прекратить использовать strtotime
и охватить объектно-ориентированные функции DateTime
.
Используя DateTime
, вы можете определить свою дату вместе с ее часовым поясом:
// local time
$date = new \DateTimeImmutable('1/1/2019', new \DateTimeZone('Europe/Bucharest'));
echo $date->format('U > d.m.Y (e)') , '
';
// convert to UTC
echo $date->setTimeZone(new \DateTimeZone('UTC'))->format('U > d.m.Y (e)');
Библиотека довольно мощная и гораздо более многословная, чем работа со строками и временными метками Unix.
Попробуйте это:
setlocal enabledelayedexpansion
Существует также
setlocal enableextensions
который является эквивалентом cmd /E:ON
.
Ссылка: setlocal /?
.