3v4l.org

run code in 300+ PHP versions simultaneously
<?php $now = new DateTime('now', new \DateTimeZone('UTC')); // true, всё верно, сдвиг одинаковый var_dump((new DateTimeZone('Africa/Cairo'))->getOffset($now) === (new DateTimeZone('Europe/Paris'))->getOffset($now)); $d1 = new DateTimeImmutable('2020-01-01 15:00', new DateTimeZone('Europe/Paris')); $d2 = new DateTimeImmutable('2020-01-01 15:00', new DateTimeZone('Africa/Cairo')); // вот тут проблема, unix должен быть одинаковый var_dump($d1->getTimestamp() === $d2->getTimestamp() + 3600);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
bool(true) bool(true)

preferences:
131.9 ms | 402 KiB | 121 Q