Подтвердить что ты не робот

Изменить часовой пояс в Lumen или Laravel 5

Я использую Lumen framework. Как изменить Timezone на Европу/Париж CEST?

Я добавил varaible в свой .env файл:

APP_TIMEZONE=Europe/Paris

Но это не работает. Каков правильный способ обновления часового пояса?

4b9b3361

Ответ 1

Вы можете установить часовой пояс вашего приложения, app.php файл app.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' => 'Asia/Dhaka'

список часовых поясов для PHP 5

Надеюсь, это поможет.

Ответ 2

Есть два способа обновить ваш код. 1. Пожалуйста, откройте файл app.php, присутствующий в папке config в lool вашего проекта. Перейдите на страницу вниз и проверьте часовой пояс приложения, где вы найдете

'timezone' => 'UTC',

Здесь вы можете добавить свой часовой пояс, как

'timezone' => 'Europe/Paris',

Если вы хотите управлять своим .env из файла .env, то вы можете добавить приведенный ниже код в файл config.php.

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

и добавьте строку ниже в ваш файл .env.

APP_TIMEZONE='Europe/Paris'

Пожалуйста, проверьте ссылку ниже для получения дополнительной информации: https://laravel.com/docs/5.6/configuration#accessing-configuration-values

Ответ 3

Попробуйте это - Создайте директорию "config" в настройке просвета, а затем создайте файл app.php внутри этого каталога "config". это будет выглядеть так:

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

Затем вы можете получить доступ к его значению где угодно -

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

Если это не сработает, вы можете добавить эти строки в routes.php

date_default_timezone_set('America/Los_Angeles');

Это сработало для меня!

Ответ 4

Вам просто нужно отредактировать файл 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',

И.. chage это для:

'timezone' => 'Europe/Paris',

Ответ 5

В моем случае (чтение даты из MySQL db в проекте Lumen 5.1) единственным решением, которое сработало, является использование 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 тоже не помогло.

Ответ 6

В файле Luen.env укажите часовые пояса. Для Индии это будет выглядеть так:

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

Ответ 7

Использовать часовые пояса php из руководства php Временные зоны Php

Например, мой я изменил значение UTC в config/app.php с помощью

'timezone' => 'Africa/Nairobi',

Ответ 8

После изменения app.php убедитесь, что вы запустили:

 php artisan config:cache

Это необходимо для очистки кеша настроек конфигурации. Если вы заметили, что ваши временные метки все еще неверны после изменения часового пояса в файле app.php, то выполнение вышеуказанной команды должно обновить все, и ваш новый часовой пояс должен быть эффективным.

Ответ 9

Для меня app.php был здесь /vendor/laravel/lumen-framework/config/app.php но я также мог бы изменить его из файла .env где он может быть установлен на любое из значений, перечисленных здесь (оригинальная документация PHP здесь).

Ответ 10

Перейдите в config → app.php и измените "часовой пояс" => "Азия/Джакарта",

(это мой часовой пояс)