saowirricardo / laravel-timezone

在您的 Laravel 应用中使用时区

0.2.0 2022-08-16 09:10 UTC

README

在您的 Laravel 应用中使用时区

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

本软件包采用不同的方法来处理用户的时区。

支持我们

我们投入了大量资源来创建最佳的开源软件包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从家乡寄给我们明信片,并提到您正在使用我们的哪个软件包。您可以在我们的联系页面找到我们的地址。我们在我们的虚拟明信片墙上发布所有收到的明信片。

安装

您可以通过 composer 安装此软件包

composer require sawirricardo/laravel-timezone

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="laravel-timezone-config"

这是已发布配置文件的内容

return [
    // possible options: session, cache
    'driver' => 'cache',

    'url' => 'laravel-timezone',
    'controller' => \Sawirricardo\LaravelTimezone\Http\Controllers\LaravelTimezoneController::class,

    'allowed_timezones' => [
        ...timezone_identifiers_list(),
    ],

    'middleware' => [
        'web',
    ],
];

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="laravel-timezone-views"

用法

echo currentTimezone(); // UTC
{{-- Just put this in your layout file --}}
<x-laravel-timezone />

这应该适用于大多数情况,但是,如果您有不同的情况,您可以尝试访问路由端点,并向请求提供时区参数,例如

<script>
    document.addEventListener("DOMContentLoaded", function () {
        const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
        axios
            .post("{{ route('laravel-timezone') }}", {
                timezone: timezone,
            })
            .catch((error) => null);
    });
</script>

测试

composer test

更新日志

请参阅更新日志了解最近的变化信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅许可文件