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