Я использую Lumen framework. Как изменить Timezone на Европу/Париж CEST?
Я добавил varaible в свой .env
файл:
APP_TIMEZONE=Europe/Paris
Но это не работает. Каков правильный способ обновления часового пояса?
Я использую Lumen framework. Как изменить Timezone на Европу/Париж CEST?
Я добавил varaible в свой .env
файл:
APP_TIMEZONE=Europe/Paris
Но это не работает. Каков правильный способ обновления часового пояса?
Вы можете установить часовой пояс вашего приложения, 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
Надеюсь, это поможет.
Есть два способа обновить ваш код. 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
Попробуйте это - Создайте директорию "config" в настройке просвета, а затем создайте файл app.php внутри этого каталога "config". это будет выглядеть так:
<?php return ['app.timezone' => 'America/Los_Angeles'];
Затем вы можете получить доступ к его значению где угодно -
$value = config('app.timezone');
Если это не сработает, вы можете добавить эти строки в routes.php
date_default_timezone_set('America/Los_Angeles');
Это сработало для меня!
Вам просто нужно отредактировать файл 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',
В моем случае (чтение даты из 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
тоже не помогло.
В файле Luen.env укажите часовые пояса. Для Индии это будет выглядеть так:
APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
Использовать часовые пояса php из руководства php Временные зоны Php
Например, мой я изменил значение UTC в config/app.php с помощью
'timezone' => 'Africa/Nairobi',
После изменения app.php убедитесь, что вы запустили:
php artisan config:cache
Это необходимо для очистки кеша настроек конфигурации. Если вы заметили, что ваши временные метки все еще неверны после изменения часового пояса в файле app.php, то выполнение вышеуказанной команды должно обновить все, и ваш новый часовой пояс должен быть эффективным.
Для меня app.php был здесь /vendor/laravel/lumen-framework/config/app.php
но я также мог бы изменить его из файла .env
где он может быть установлен на любое из значений, перечисленных здесь (оригинальная документация PHP здесь).
Перейдите в config → app.php и измените "часовой пояс" => "Азия/Джакарта",
(это мой часовой пояс)