gsteel/google-timezone

Google Timezone API 客户端

1.7.0 2023-09-18 21:10 UTC

README

Build Status

codecov Psalm Type Coverage

Latest Stable Version Total Downloads

简介

提供了一套经过良好测试的接口和价值对象,用于与Google 的时区 API进行交互

安装

唯一支持的安装方法是使用 composer。

此客户端需要一个 PSR-18 Http 客户端 和 PSR-17 工厂实现。这些实现不是 composer 所必需的,因此您需要确保已安装它们,例如

composer require php-http/curl-client laminas/laminas-diactoros gsteel/google-timezone

使用方法

TimeZone API 需要一个Google 的 API 密钥

<?php

use DateTimeImmutable;
use GSteel\GoogleTimezone\Coordinates;
use GSteel\GoogleTimezone\HttpClient;
use Http\Client\Curl\Client;
use Laminas\Diactoros\RequestFactory;
use Laminas\Diactoros\UriFactory;

$apiKey = 'Some API Key';

$client = new HttpClient(
    $apiKey,
    new Client(),
    new UriFactory(),
    new RequestFactory()
);

$primeMeridian = '51.47,-0.00';
$referenceDate = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-01-01');

$result = $this->client->fetch(
    Coordinates::fromString($primeMeridian),
    $referenceDate
);

assert($result->isSuccess());        // true
echo $result->timezone()->getName(); // "Europe/London"
$result->isReferenceDateDst();       // false
echo $result->name();                // "Greenwich Mean Time"

许可证

MIT 许可证.

贡献

…受到欢迎。请确保您的补丁通过 CI :)