Calculate actual flight durations between airports using timezone data from OpenFlights.org.
- Calculate flight durations considering different timezones
- Support for over 12,000 airports worldwide
- Simple REST API with JSON responses
- OpenAPI documentation
composer require marcgoertz/flight-duration-
Clone the repository:
git clone https://github.com/mrcgrtz/flight-duration.git cd flight-duration -
Install dependencies:
composer install
# Using PHP's built-in server
composer start
# Using ddev
ddev start| Parameter | Description | Format | Example |
|---|---|---|---|
from |
Departure datetime | YYYY-MM-DDTHH:MM | 2023-05-01T10:30 |
to |
Arrival datetime | YYYY-MM-DDTHH:MM | 2023-05-01T14:45 |
departureAirport |
IATA code of departure airport | 3 uppercase letters | FRA |
destinationAirport |
IATA code of destination airport | 3 uppercase letters | JFK |
Using curl:
curl "http://localhost:8000/?from=2023-05-01T10:30&to=2023-05-01T14:45&departureAirport=FRA&destinationAirport=JFK"Using Curlie:
curlie http://localhost:8000/ from==2023-05-01T10:30 to==2023-05-01T14:45 departureAirport==FRA destinationAirport==JFK{
"from": "2023-05-01T10:30+02:00",
"to": "2023-05-01T14:45-04:00",
"duration": "P0DT8H15M"
}You can also use FlightDuration as a library in your PHP project:
use Marcgoertz\FlightDuration;
$flightDuration = new FlightDuration();
$duration = $flightDuration->getDuration(
'2023-05-01T10:30', // Departure time
'2023-05-01T14:45', // Arrival time
'FRA', // Departure airport
'JFK' // Destination airport
);
print_r($duration);The API returns a JSON object with three properties:
from: ISO 8601 formatted departure time with timezoneto: ISO 8601 formatted arrival time with timezoneduration: ISO 8601 duration format (PnYnMnDTnHnMnS)
- PHP 8.0 or higher
- Composer
The airport data is provided by OpenFlights.org.
MIT © Marc Görtz