Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- declare(strict_types=1);
- function landingDateTime(string $departureTimeZone, string $departureDateTime,
- string $flightTime, string $destinationTimeZone): array
- {
- $departure = new DateTimeImmutable($departureDateTime, new DateTimeZone($departureTimeZone));
- $dateTime['departure'] = $departure;
- $arrival = new DateTime($departureDateTime, new DateTimeZone($departureTimeZone));
- [$hours, $minutes, $seconds] = explode(':', $flightTime);
- $arrival->add(new DateInterval(sprintf('PT%sH%sM%sS', $hours, $minutes, $seconds)));
- $arrival->setTimezone(new DateTimeZone($destinationTimeZone));
- $dateTime['arrival'] = $arrival;
- return $dateTime; // return a pair of datetime objects
- }
- $eol = empty($argc) ? '<br>' : PHP_EOL; // determine end of line
- /*
- * Set flight details
- */
- $departureTimeZone = 'Europe/Paris';
- $departureDateTime = '2023-02-21 08:26:00';
- $flightTime = '10:15:07';
- $destinationTimeZone = 'America/Lima';
- $landingDateTime = landingDateTime($departureTimeZone, $departureDateTime, $flightTime,
- $destinationTimeZone);
- printf('Depart: %s Arrive: %s' . $eol . $eol,
- $landingDateTime['departure']->format('d/M/Y H:i:s'),
- $landingDateTime['arrival']->format('d/M/Y H:i:s'));
Advertisement
Add Comment
Please, Sign In to add comment