更改Lumen或Laravel 5中的时区


Change Timezone in Lumen or Laravel 5

我使用的是Lumen框架。如何将时区更改为欧洲/巴黎CEST?

我在.env文件中添加了一个变量:

APP_TIMEZONE=Europe/Paris

但这行不通。更新时区的正确方法是什么?

您可以通过在config文件夹中配置app.php文件来设置应用程序时区

要更改时区,请修改app.php文件中时区的值。

这写在本节中

|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
 

对我来说,我使用亚洲/达卡作为我的申请时区。

以下是适当的语法:

'timezone' => 'Asia/Dhaka'

PHP的时区列表。

有两种方法可以更新代码。1.请打开项目所在位置的config目录中的文件app.php。向下翻页并检查应用程序时区在哪里可以找到

'timezone' => 'UTC',

在这里你可以像一样添加你的时区

'timezone' => 'Europe/Paris',

如果您想从.env文件管理您的时区,那么您可以在config.php文件中添加以下代码。

'timezone' => env('APP_TIMEZONE', 'UTC'),

并在.env文件中添加以下行。

APP_TIMEZONE='Europe/Paris'

有关详细信息,请查看下面的链接:https://laravel.com/docs/5.6/configuration#accessing-配置值

更改app.php后,请确保运行:

 php artisan config:clear

这是清除配置设置缓存所必需的。如果您在更改app.php文件中的时区后发现时间戳仍然错误,那么运行上面的命令应该会刷新所有内容,并且您的新时区应该是有效的。

请尝试-在你的流明设置中创建一个目录"config",然后在这个"config"目录中创建app.php文件

<?php return ['app.timezone' => 'America/Los_Angeles'];

然后你可以在任何地方访问它的价值,比如

$value = config('app.timezone');

如果不起作用,可以在routes.php 中添加此行

date_default_timezone_set('America/Los_Angeles');

这对我有用!

转到config->app.php并更改"时区"=>"亚洲/雅加达",

(这是我的时区(

在Lumen的.env文件中,指定时区。对于印度来说,这就像:

APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'

有一种简单的方法可以设置laravel或lumen中的默认时区。

在多个环境中工作时,这很有帮助,因为您可以根据每个环境使用不同的时区。

  1. 打开项目目录中的.env文件
  2. .env中添加APP_TIMEZONE=Asia/Kolkata(您可以从支持的时区中选择任何时区(
  3. 打开项目目录的bootstrap文件夹中的app.php
  4. app.php中添加date_default_timezone_set(env('APP_TIMEZONE', 'UTC'));

通过此更改,您的项目将采用.env设置的时区,如果没有设置任何时区,则默认采用UTC

修改时区设置后,运行命令php artisan config:clear,以便您的更改反映在应用程序中

使用php手册中的php时区Php时区

例如,我用将config/app.php中的UTC值更改为

'timezone' => 'Africa/Nairobi',

在我的情况下(从Lumen 5.1项目中的MySQL数据库中读取日期(,唯一有效的解决方案是使用Carbon设置变量的时区:

    $carbonDate = new Carbon($dateFromDBInUTC);
    $carbonDate->timezone = 'America/New_York';
    return $carbonDate->toDayDateTimeString(); // or $carbonDate->toDateTimeString() for ISO format

.env文件中使用DB_TIMEZONE=-05:00几乎有效,但不处理DST更改。

.env文件中使用APP_TIMEZONE=America/New_York对从MySQL数据库在Lumen 5.1网络应用程序中检索的时区值没有影响,但它在Lavarel 5.1中有效。

此外,Lumen根本没有阅读我创建的[lumen_project]/config/app.php文件(当我在那里放了一个语法错误时,它没有抱怨(。

使用date_default_timezone_set也不起作用。

您只需要在config目录中编辑de app.php文件只需查找下一行

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'UTC',

而且。。将其更改为:

'timezone' => 'Europe/Paris',

默认情况下,laravel项目的时区为**UTC*

  • 您可以在config文件夹App.php中找到时区设置

"时区"=>"UTC",

现在根据您的时区更改,对我来说是亚洲/加尔各答

所以对我来说,设置将是"时区"=>"亚洲/加尔各答",

  • 更改时区设置后,运行命令php artisan config:cache

*有关时区列表,请访问此urlhttps://www.w3schools.com/php/php_ref_timezones.asp

您可以在config/App.php中找到时区设置放这样的东西:

'timezone' => 'Africa/Bujumbura',

对我来说,app.php在这里是/vendor/laravel/lumen-framework/config/app.php,但我也可以将其从.env文件更改为这里列出的任何值(这里是php原始文档(。

打开config/App.php文件并使用"欧洲/巴黎"更新时区值

 /*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Europe/Paris',

然后通过运行以下artisan命令清除配置缓存

 php artisan config:clear

Laravel 9更改时区更改/设置

Go,config''app.php——您的laravel目录中的文件

您将在哪里获得选项--"时区"=>'UTC'

用你的一个相关参数更改这个参数,例如:"时区"=>'亚洲/加尔各答,

只需在.env中更改APP_TIMEZONE=亚洲/科伦坡并运行php artisan流明配置:缓存在管腔5.7 中为我工作

我在.env APP_TIMEZONE中修改它。

哥伦比亚:APP_TIMEZONE=美国/波哥大同样适用于巴黎:APP_TIMEZONE=欧洲/巴黎

来源:https://www.php.net/manual/es/timezones.europe.php