Lumen 设置时区的问题

JellyBool

JellyBool

在使用 lumen 开发 API 的时候,可能会遇到时区不一致的问题,这个通常表现为项目代码的时间跟数据库的 created_at updated_at 不在同一个时区内,这个时候可以尝试下面两个小小的设置技巧:

1.设置 .env 的 APP_TIMEZONE

在 .env 文件中增加下面这一行的配置:

APP_TIMEZONE=PRC

如果这一行 APP_TIMEZONE 配置存在的话,将 UTC 改为 PRC。

设置数据库的时区

在 database 的链接配置中,增加下面的配置:

'timezone'  => env('DB_TIMEZONE','+08:00'),

最终的 database 配置大概是这个样子:

'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'   => 'utf8',

    'collation' => 'utf8_unicode_ci',

    'prefix'    => env('DB_PREFIX', ''),

    'timezone'  => env('DB_TIMEZONE','+08:00'),// 添加这一行

    'strict'    => false,

],

这样一来,基本上就可以解决 lumen 的时区不一致的问题了

本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 0 条评论