Strtotime PHP jest nieprawidłowe (czasami)?

Mam ten problem z strtotime w moim kodzie PHP, że czasami jest on błędny (tylko dla niektórych stref czasowych) i jest poprawny dla innych !!

Nie mogę się tym zająć.

Ustawiłem<?php date_default_timezone_set('GMT'); ?> na górze mojej strony, ale to nie pomaga!

zasadniczo to, co robi, to dodanie lub odjęcieoffset/3600 wartość do ustawionego czasu w$time1 = strtotime('00:00'); w zależności od tego, czy i kiedy, jeśli warunki.

wartość offset / 3660 to różnica czasu między dwoma strefami czasowymi!

kod poniżej działa dla niektórych lokalizacji i nie działa dla innych! zasadniczo doda dodatkowe 1-2 godziny lub zdejmie / odejmie dodatkowe 1-2 godziny (nie cały czas).

tj. różnica czasu między Abidżanem a Londynem wynosi -1. czas (wartość), który należy wyświetlić, to 23:00 jako 00:00 - 01:00 = 23:00. ale wyświetlana jest wartość 00:00.

Jak już wspomniałem, działa w niektórych strefach czasowych. tj. dla różnicy czasu między Nowym Jorkiem a Londynem, która wynosi -5, kod działa i pokazuje 19:00 jako 00:00 - 05:00 = 19:00

czy ktoś mógłby rzucić na to światło?

Oto kod, o którym mowa:

<?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}";
?>

questionAnswers(1)

yourAnswerToTheQuestion