我正在使用Lumen框架。如何将时区更改为欧洲/巴黎CEST?
我在.env
文件中添加了一个变量:
APP_TIMEZONE=Europe/Paris
但这不起作用。什么是更新时区的正确方法?
我正在使用Lumen框架。如何将时区更改为欧洲/巴黎CEST?
我在.env
文件中添加了一个变量:
APP_TIMEZONE=Europe/Paris
但这不起作用。什么是更新时区的正确方法?
Answers:
您可以通过配置folder中的文件来设置应用时区。app.php
config
要更改时区,请在app.php文件中修改timezone的值。
这是写在本节中
|--------------------------------------------------------------------------
| 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 5时区列表
php artisan config:cache
在更改app.php文件后运行。您需要在新设置下重新加载配置。
,
在行尾添加。;)。我的意思是'timezone' => 'Asia/Dhaka',
有两种更新代码的方法。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-configuration-values
请尝试以下操作-在流明设置中创建目录“ config”,然后在此“ config”目录中创建app.php文件。它看起来像这样-
<?php return ['app.timezone' => 'America/Los_Angeles'];
然后,您可以在任何地方访问其值,例如:
$value = config('app.timezone');
如果不起作用,则可以在routes.php中添加此行
date_default_timezone_set('America/Los_Angeles');
这对我有用!
app.timezone
在app.php
配置文件是多余的,因为该app
部分config('app.timezone')
是指在文件名config/
目录。
就我而言(从Lumen 5.1项目中的MySQL数据库读取日期),唯一有效的解决方案是使用Carbon设置变量的时区:
$carbonDate = new Carbon($dateFromDBInUTC);
$carbonDate->timezone = 'America/New_York';
return $carbonDate->toDayDateTimeString(); // or $carbonDate->toDateTimeString() for ISO format
DB_TIMEZONE=-05:00
在.env
文件中使用几乎可以正常工作,但不能处理DST更改。
APP_TIMEZONE=America/New_York
在.env
文件中使用时,对Lumen 5.1 Webapp中从MySQL数据库检索的时区值没有影响,但在Lavarel 5.1中有效。
而且Lumen根本不读取[lumen_project]/config/app.php
我创建的 文件(当我在其中放置语法错误时,它没有抱怨)。
使用date_default_timezone_set
也不起作用。
您只需要在配置目录中编辑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 *
'时区'=>'UTC',
现在根据您所在的时区对我来说是亚洲/ Calcutta
因此对我而言,设置为'timezone'=>'Asia / Calcutta',
*有关时区列表的信息,请访问此URL https://www.w3schools.com/php/php_ref_timezones.asp
有一种简单的方法可以在laravel或lumen中设置默认时区。
在多个环境中工作时这很有用,您可以根据每个环境使用不同的时区。
APP_TIMEZONE=Asia/Kolkata
在.env
(你可以选择在任何时区支持时区)date_default_timezone_set(env('APP_TIMEZONE', 'UTC'));
在app.php
。进行此更改后,您的项目将采用.env设置的时区,如果未设置任何时间,则默认采用UTC。
修改时区设置运行命令后
php artisan config:clear
,您的更改将反映在您的应用程序中
只是在.env中更改APP_TIMEZONE = Asia / Colombo并运行php artisan lumen-config:cache 在lumen 5.7中对我有用
我在.env APP_TIMEZONE中对其进行了修改。
对于哥伦比亚:APP_TIMEZONE = America / Bogota,对于巴黎也是如此:APP_TIMEZONE = Europe / Paris