Sto*_*per 43 php laravel-5 lumen
我正在使用流明框架.如何将时区更改为欧洲/巴黎CEST?
我在我的.env文件中添加了一个变量:
APP_TIMEZONE=Europe/Paris
Run Code Online (Sandbox Code Playgroud)
但这不起作用.更新时区的正确方法是什么?
Md *_*yan 90
您可以通过配置文件夹中的文件来设置应用时区.app.phpconfig
要更改时区,修改的值时区中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.
|
Run Code Online (Sandbox Code Playgroud)
对我来说,我使用亚洲/达卡作为我的申请时区.
这是适当的语法:
'timezone' => 'Asia/Dhaka'
Run Code Online (Sandbox Code Playgroud)
PHP 5 的时区列表
希望这会有所帮助.
Pra*_*rve 21
有两种方法可以更新代码.1.请在项目的lool中打开config目录中的文件app.php文件.在页面下方查看 您将找到的应用程序时区
'timezone' => 'UTC',
Run Code Online (Sandbox Code Playgroud)
在这里你可以添加你的时区
'timezone' => 'Europe/Paris',
Run Code Online (Sandbox Code Playgroud)
如果要从.env文件管理时区,则可以在config.php文件中添加以下代码.
'timezone' => env('APP_TIMEZONE', 'UTC'),
Run Code Online (Sandbox Code Playgroud)
并在.env文件中添加以下行.
APP_TIMEZONE='Europe/Paris'
Run Code Online (Sandbox Code Playgroud)
请查看以下链接以获取更多信息:https: //laravel.com/docs/5.6/configuration#accessing-configuration-values
请尝试这个 - 在你的流明设置中创建一个目录'config',然后在这个'config'目录中创建app.php文件.它看起来像这样 -
<?php return ['app.timezone' => 'America/Los_Angeles'];
Run Code Online (Sandbox Code Playgroud)
然后你可以在任何地方访问它的价值 -
$value = config('app.timezone');
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,您可以在routes.php中添加此行
date_default_timezone_set('America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud)
这对我有用!
使用 php 手册中的 php 时区 Php 时区
例如我的,我从 config/app.php 中的 UTC 值更改为
'timezone' => 'Africa/Nairobi',
Run Code Online (Sandbox Code Playgroud)
就我而言(从 Lumen 5.1 项目中的 MySQL 数据库读取日期),唯一有效的解决方案是使用Carbon设置变量时区:
$carbonDate = new Carbon($dateFromDBInUTC);
$carbonDate->timezone = 'America/New_York';
return $carbonDate->toDayDateTimeString(); // or $carbonDate->toDateTimeString() for ISO format
Run Code Online (Sandbox Code Playgroud)
DB_TIMEZONE=-05:00在文件中使用.env几乎可以工作,但不能处理 DST 更改。
APP_TIMEZONE=America/New_York在文件中使用.env不会影响在 Lumen 5.1 Web 应用程序中从 MySQL 数据库检索到的时区值,但它适用于 Lavarel 5.1。
而且 Lumen 根本没有读取 [lumen_project]/config/app.php我创建的文件(当我在那里放置语法错误时它没有抱怨)。
使用date_default_timezone_set也没有效果。
小智 5
您只需编辑 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',
Run Code Online (Sandbox Code Playgroud)
并且..收费为:
'timezone' => 'Europe/Paris',
Run Code Online (Sandbox Code Playgroud)
在 Lumen 的 .env 文件中,指定时区。对于印度来说,它会是这样的:
APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
Run Code Online (Sandbox Code Playgroud)
更改app.php之后,请确保您运行:
php artisan config:cache
Run Code Online (Sandbox Code Playgroud)
这是清除配置设置缓存的必要条件。如果您发现更改app.php文件中的时区后,时间戳仍然不正确,则运行上述命令应会刷新所有内容,并且新时区应该有效。
小智 5
laravel 项目默认时区是 **UTC*
'时区' => 'UTC',
现在根据你的时区进行更改,对我来说是亚洲/加尔各答
所以对我来说设置将是“时区”=>“亚洲/加尔各答”,
*有关时区列表,请访问此网址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以便您的更改反映在您的应用程序中