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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
bool(true) bool(true)

preferences:
98.62 ms | 406 KiB | 5 Q