PHP strtotime не так (несколько раз)?

У меня есть проблема с strtotime в моем PHP-коде, что иногда это неправильно (только для некоторых часовых поясов), и это правильно для других !!

Я не могу разобраться с этим.

Я установил<?php date_default_timezone_set('GMT'); ?> в верхней части моей страницы, но это не помогает!

в основном это то, что он будет добавлять или вычитатьoffset/3600 значение установленного времени в$time1 = strtotime('00:00'); в зависимости от условий if и else if.

значение смещения / 3660 - это разница во времени между двумя часовыми поясами!

код ниже работает для некоторых мест и не для других! в основном это добавляет дополнительные 1-2 часа или снимает / вычитает дополнительные 1-2 часа несколько раз (не все время).

то есть разница во времени между Абиджаном и Лондоном равна -1. время (значение), которое должно быть показано, равно 23:00 как 00:00 - 01:00 = 23:00. но значение отображается 00:00.

Однако, как я уже говорил, это работает для некоторых часовых поясов. то есть для разницы во времени между Нью-Йорком и Лондоном, которая составляет -5, код работает, и он показывает 19:00 как 00:00 - 05:00 = 19:00

Может кто-нибудь, пожалуйста, пролить свет на это?

вот код, о котором идет речь:

<?php
$time1 = strtotime('00:00');

if (0 > $offset)
{
   // For negative offset (hours behind)
  $hour_dif = date('H:i', strtotime($time1 -$offset/3600));
  $time1 = "{$hour_dif}";
}
elseif (0 < $offset)
{
   // For positive offset (hours ahead)
     $hour_dif = date('H:i', strtotime($time1 +$offset/3600));
     $time1 = "{$hour_dif}";

}
else
{
   // For offsets in the same timezone.
   $time1 = "in the same timezone";
}

echo "{$time1}";
?>

Ответы на вопрос(1)

Ваш ответ на вопрос