3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set('date.timezone', 'UTC'); $defaultTZ = new \DateTimeZone(date_default_timezone_get()); $event_start = '2019-01-01 09:00'; $est_date = new \DateTimeImmutable($event_start, new \DateTimeZone('America/New_York')); $utc_date = $est_date->setTimeZone($defaultTZ); $db_event_start = $utc_date->format(DATE_ISO8601); //retireve event from database $event_date = new \DateTimeImmutable($db_event_start, $defaultTZ); $pst_date = $event_date->setTimeZone(new \DateTimeZone('America/Los_Angeles')); $est_date = $event_date->setTimeZone(new \DateTimeZone('America/New_York')); //display event start times to the user echo 'Event Starts at:' . PHP_EOL; echo $event_date->format('Y-m-d H:i T') . PHP_EOL; echo $pst_date->format('Y-m-d H:i T') . PHP_EOL; echo $est_date->format('Y-m-d H:i T') . PHP_EOL; //display event status echo 'Event ' . ($event_date <= new \DateTime('now', $defaultTZ) ? 'Has' : 'Not') . ' Started';

preferences:
52.26 ms | 402 KiB | 5 Q