如何在流明5.2中设置时区?

rap*_*2-h 6 php laravel lumen lumen-5.2

我没有找到关于如何在Lumen 5.2中设置默认时区的任何相关信息(仅限技巧).有没有干净的方法来做到这一点?

小智 13

在Lumen 5.2中,Application类实际上是从APP_TIMEZONE环境变量中读取的.

您可以使用或设置服务器上的环境变量,通过.env文件轻松设置时区:

APP_TIMEZONE=UTC
Run Code Online (Sandbox Code Playgroud)


小智 7

我在很多论坛上阅读的回复都没有解决问题,因为在文件/vendor/laravel/lumen-framework/config/database.php中有这一行:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'port'      => env('DB_PORT', 3306),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => env('DB_CHARSET', 'utf8'),
            'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
            'prefix'    => env('DB_PREFIX', ''),
            **'timezone'  => env('DB_TIMEZONE', '+00:00'),**
            'strict'    => env('DB_STRICT_MODE', false),
        ],
Run Code Online (Sandbox Code Playgroud)

您需要重写此配置文件.在config文件夹中创建database.php文件.然后复制所有内容而不使用时区线.这适合我.

  • 我认为我们只需要在 `.env` 文件中设置 `DB_TIMEZONE`。 (2认同)

Der*_*ard 6

这很容易完成并显示在他们的文档页面中

要在运行时设置配置值,请将数组传递给配置助手:

config(['app.timezone' => 'America/Chicago']);
Run Code Online (Sandbox Code Playgroud)

或者,在app/config.php

'timezone' => 'UTC',
Run Code Online (Sandbox Code Playgroud)


Rod*_*tti 5

您可以在.env文件中添加时区

APP_TIMEZONE=YOUR_TIME_ZONE
Run Code Online (Sandbox Code Playgroud)

文档:

时区列表

流明文档