marcgoertz/flight-duration
最新稳定版本:1.0.0
Composer 安装命令:
composer require marcgoertz/flight-duration
包简介
Calculate actual flight durations between airports using timezone data from OpenFlights.org.
README 文档
README
Calculate actual flight durations between airports using timezone data from OpenFlights.org.
Features
- Calculate flight durations considering different timezones
- Support for over 12,000 airports worldwide
- Simple REST API with JSON responses
- OpenAPI documentation
Installation
Using Composer
composer require marcgoertz/flight-duration
Manual Installation
-
Clone the repository:
git clone https://github.com/mrcgrtz/flight-duration.git cd flight-duration -
Install dependencies:
composer install
Usage
Starting the Server
# Using PHP's built-in server composer start # Using ddev ddev start
API Parameters
| 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 |
Example Requests
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
Example Response
{
"from": "2023-05-01T10:30+02:00",
"to": "2023-05-01T14:45-04:00",
"duration": "P0DT8H15M"
}
Library Usage
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);
Response Format
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)
Development
Requirements
- PHP 8.0 or higher
- Composer
Credits
The airport data is provided by OpenFlights.org.
License
MIT © Marc Görtz
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-04