marcgoertz/flight-duration 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

PHP Composer MIT license

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

  1. Clone the repository:

    git clone https://github.com/mrcgrtz/flight-duration.git
    cd flight-duration
  2. 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 timezone
  • to: ISO 8601 formatted arrival time with timezone
  • duration: 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

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-04