3v4l.org

run code in 300+ PHP versions simultaneously
<?php $UnixEpoch = DateTimeImmutable::createFromFormat('U', 0); $dateAmsterdam = (new DateTimeImmutable())->setTimezone(new DateTimeZone('Europe/Amsterdam'))->setDate(2023, 10, 1)->setTime(0, 0, 0); var_dump($dateAmsterdam); var_dump($UnixEpoch->diff($dateAmsterdam)->days); $amsterdamBase = DateTimeImmutable::createFromFormat('U', 0); $amsterdamDateReconstructed = $amsterdamBase->add(new DateInterval('P' . $UnixEpoch->diff($dateAmsterdam)->days . 'D')); var_dump($amsterdamDateReconstructed);
Output for 7.4.33, 8.1.26 - 8.1.28, 8.2.6 - 8.2.19, 8.3.0 - 8.3.7
object(DateTimeImmutable)#4 (3) { ["date"]=> string(26) "2023-10-01 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "Europe/Amsterdam" } int(19630) object(DateTimeImmutable)#5 (3) { ["date"]=> string(26) "2023-09-30 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" }

preferences:
44.14 ms | 403 KiB | 25 Q