在Lumen或Laravel 5中更改时区

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 的时区列表

希望这会有所帮助.

  • 如果这样做却行不通,请在更改app.php文件后运行`php artisan config:cache`。您需要在新设置下重新加载配置。 (5认同)
  • 不要忘记在行尾添加`,`。;)。我的意思是“时区”=>“亚洲/达卡”, (5认同)
  • 使用支持的时区的PHP列表:http://php.net/manual/en/timezones.php (3认同)

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


Zee*_*oft 7

请尝试这个 - 在你的流明设置中创建一个目录'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)

这对我有用!


Tec*_*ter 6

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

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

'timezone' => 'Africa/Nairobi',
Run Code Online (Sandbox Code Playgroud)


Org*_*ate 5

就我而言(从 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)


sha*_*nth 5

在 Lumen 的 .env 文件中,指定时区。对于印度来说,它会是这样的:

APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
Run Code Online (Sandbox Code Playgroud)


agm*_*984 5

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

 php artisan config:cache
Run Code Online (Sandbox Code Playgroud)

这是清除配置设置缓存的必要条件。如果您发现更改app.php文件中的时区后,时间戳仍然不正确,则运行上述命令应会刷新所有内容,并且新时区应该有效。


小智 5

Go to config -> app.php and change 'timezone' => 'Asia/Jakarta',

(this is my timezone)


小智 5

laravel 项目默认时区是 **UTC*

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

'时区' => 'UTC',

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

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

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

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


Ank*_*dal 5

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

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

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

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

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