marcgoertz/flight-duration
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
marcgoertz/flight-duration 适用场景与选型建议
marcgoertz/flight-duration 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 13 次下载、GitHub Stars 达 2, 最近一次更新时间为 2025 年 05 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 marcgoertz/flight-duration 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 marcgoertz/flight-duration 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-04