Я використовую фреймворк Lumen. Як я можу змінити часовий пояс на Європу / Париж CEST?
Я додав змінну у свій .env
файл:
APP_TIMEZONE=Europe/Paris
Але це не працює. Який правильний спосіб оновити часовий пояс?
Я використовую фреймворк Lumen. Як я можу змінити часовий пояс на Європу / Париж CEST?
Я додав змінну у свій .env
файл:
APP_TIMEZONE=Europe/Paris
Але це не працює. Який правильний спосіб оновити часовий пояс?
Відповіді:
Ви можете встановити часовий пояс програми , налаштувавши 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
php artisan config:cache
після зміни файлу app.php. Вам потрібно перезавантажити конфігурацію за новим налаштуванням.
,
в кінці рядка. ;). Я маю на увазі'timezone' => 'Asia/Dhaka',
Існує два способи оновлення коду. 1. Будь ласка, відкрийте файл 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
Після зміни app.php обов’язково запустіть:
php artisan config:clear
Це потрібно для очищення кешу налаштувань конфігурації. Якщо ви помітили, що ваші мітки часу все ще помиляються після зміни часового поясу у вашому файлі app.php, тоді запуск вищезазначеної команди повинен оновити все, і ваш новий часовий пояс повинен бути ефективним.
Спробуйте це - Створіть каталог "config" у налаштуваннях просвіту, а потім створіть файл app.php всередині цього каталогу "config". це буде виглядати так -
<?php return ['app.timezone' => 'America/Los_Angeles'];
Тоді ви можете отримати доступ до його значення де завгодно, як це -
$value = config('app.timezone');
Якщо це не спрацює, ви можете додати ці рядки у маршрути.php
date_default_timezone_set('America/Los_Angeles');
Це спрацювало для мене!
app.timezone
у app.php
файлі конфігурації зайвим як app
частинаconfig('app.timezone')
посилання посилається на ім'я файлу в папці config/
.
Перейдіть до config -> app.php і змініть 'timezone' => 'Asia / Jakarta',
(це мій часовий пояс)
У моєму випадку (читання дати з бази даних MySQL у проекті 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
файлі майже працювало, але не обробляє зміни літнього часу.
Використання APP_TIMEZONE=America/New_York
у .env
файлі не вплинуло на значення часового поясу, отримане в веб-додатку Lumen 5.1 з бази даних MySQL, але воно працює в Lavarel 5.1.
Також Люмен взагалі не читав [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 *
'timezone' => 'UTC',
тепер змінити відповідно до вашого часового поясу для мене це Азія / Калькутта
так що для мене настройка буде 'часовий пояс' => 'Азія / Калькутта',
* для списку часових поясів відвідайте цю URL-адресу https://www.w3schools.com/php/php_ref_timezones.asp
Використовуйте часові пояси php з керівництва по php часовими поясами Php
Наприклад, mine я змінив значення UTC у config / app.php за допомогою
'timezone' => 'Africa/Nairobi',
Існує простий спосіб встановити часовий пояс за замовчуванням у laravel або lumen.
Це корисно під час роботи в кількох середовищах, де ви можете використовувати різні часові пояси залежно від кожного середовища.
APP_TIMEZONE=Asia/Kolkata
в .env
(Ви можете вибрати будь-який часовий пояс з підтримуваних часових поясів )date_default_timezone_set(env('APP_TIMEZONE', 'UTC'));
в app.php
.З цією зміною ваш проект прийме ваш часовий пояс .env , а якщо нічого не встановлено, за замовчуванням візьміть UTC .
Після модифікації налаштування часового поясу виконайте команду,
php artisan config:clear
щоб ваші зміни відображались у вашій програмі
будь ласка, перейдіть до файлу .env та змініть значення AWS_DEFAULT_REGION на спеціальну область, яку ви хочете ...
AWS_DEFAULT_REGION = Asia/Dhaka
Просто змінивши APP_TIMEZONE = Asia / Colombo у .env та запустивши php artisan lumen-config: кеш працював для мене в lumen 5.7
Я модифікую його в .env APP_TIMEZONE.
Для Колумбії: APP_TIMEZONE = Америка / Богота також для Парижу, як це: APP_TIMEZONE = Європа / Париж