iroid/laravel-timezone

该包最新版本(1.0.0)没有可用的许可证信息。

“用于转换或获取本地时区的日期时间的包”

1.0.0 2024-07-31 07:33 UTC

This package is auto-updated.

Last update: 2024-09-07 06:54:28 UTC


README

Laravel LocalTimezone 是一个包,使用 Laravel 的 Carbon 库和 Moment.js 帮助管理用户的本地时区。

安装

您可以通过 Composer 安装此包。在您的终端中运行以下命令:

composer require iroid/laravel-timezone

在您的 blade 模板中包含视图文件

@include('localtimezone::script')

服务提供者配置

在 AppServiceProvider 或 Providers.php 中添加以下行:

Iroid\LocalTimezone\LocalTimezoneServiceProvider::class,

中间件配置

将 SetLocale 中间件添加到您的 web 中间件组中,在 app/Http/Kernel.php 中

protected $middlewareGroups = [
    'web' => [
        \Iroid\LocalTimezone\Http\Middleware\SetLocale::class,
        // other middlewares...
    ],
];

或者对于 Laravel 11 及更高版本,在 app/bootstrap/app.php 中添加:

 ->withMiddleware(function (Middleware $middleware) {
        $middleware->web(
            [
                ....
                \Iroid\LocalTimezone\Http\Middleware\SetLocale::class,
            ]
        );
    })

转换为本地时间

use Iroid\LocalTimezone\LocalTimezone;

$originalTimestamp = '2024-07-24 12:00:00';
$localTime = LocalTimezone::convertToLocalTime($originalTimestamp);

echo $localTime; // Outputs the timestamp in the user's local timezone

您还可以指定输出格式的自定义格式

$customFormattedLocalTime = LocalTimezone::convertToLocalTime($originalTimestamp, 'l, F j, Y g:i A');
echo $customFormattedLocalTime; // Outputs the timestamp in the custom format