namnv609/timezonedb-php-api

TimeZoneDB.com 的 PHP API 客户端

v1.0 2017-06-23 04:16 UTC

This package is not auto-updated.

Last update: 2024-09-27 13:08:14 UTC


README

TimeZoneDB 为全球城市提供免费时区数据库。该数据库根据创意共享署名 3.0 许可证授权。它包含国家名称、时区、缩写、GMT 偏移量和夏令时(DST)。数据以 CSV 和 SQL 格式提供。您可以免费下载并将其应用于您的项目。

系统要求

  • PHP >= 5.5

安装

使用 Composer

  • composer install namnv609/timezonedb-php-api

或者在您的 composer.json 中包含以下内容

  • "namnv609/timezonedb-php-api": "1.0"

使用说明

首先,创建一个新的 TimeZoneDB 实例以配置库以供使用。

use NNV\TimeZoneDB;

$tzDB = new TimeZoneDB(<TimeZoneDB API Key>);

一旦注册了 TimeZoneDB 实例,您可以使用它如下

列出时区

列出 TimeZoneDB 支持的所有可用时区。

$listTimeZoneParams = [
    "fields" => "countryCode,countryName",
    "country" => "NZ",
    // Other params
];
$tzDB->listTimeZone($listTimeZoneParams);

获取时区

通过城市名称、时区、纬度、经度或 IP 地址获取城市的本地时间。

$getTimeZoneParams = [
    "by" => "zone",
    "zone" => "America/Chicago",
    // Other params
];
$tzDB->getTimeZone($getTimeZoneParams);

转换时区

在两个不同的时区之间转换时间戳。

$convertTimeZoneParams = [
    "from" => "America/Los_Angeles",
    "to" => "Australia/Sydney",
    "time" => "06/01/2016 03:00PM", // You can use standard DateTime format or Unix time
    // Other params
];
$tzDB->convertTimeZone($convertTimeZoneParams);

工具

我们支持一些工具函数供您使用,例如

listTimeZones

TimeZoneDB 支持的时区列表

$tzDB->listTimeZones();

codeToZones

将国家代码转换为时区

$tzDB->codeToZones("AQ");

// Result
[
    8 => "Antarctica/Casey",
    9 => "Antarctica/Davis",
    10 => "Antarctica/DumontDUrville",
    11 => "Antarctica/Mawson",
    12 => "Antarctica/McMurdo",
    13 => "Antarctica/Palmer",
    14 => "Antarctica/Rothera",
    15 => "Antarctica/Syowa",
    16 => "Antarctica/Troll",
    17 => "Antarctica/Vostok",
]

countryToZones

国家名称到时区

$tzDB->countryToZones("Vietnam");

// Result
[
    418 => "Asia/Ho_Chi_Minh",
]

zoneToCode

时区到国家代码

$tzDB->zoneToCode("Asia/Ho_Chi_Minh");

// Result
"VN"

zoneToCountry

时区到国家名称

$tzDB->zoneToCountry("Asia/Ho_Chi_Minh");

// Result
"Vietnam"