Lumenフレームワークを使用しています。タイムゾーンをヨーロッパ/パリCESTに変更するにはどうすればよいですか?
.env
ファイルに変数を追加しました:
APP_TIMEZONE=Europe/Paris
しかし、これは機能しません。タイムゾーンを更新する正しい方法は何ですか?
app.php
config
folderのファイルを設定することにより、アプリのタイムゾーンを設定できます。
タイムゾーンを変更するには、app.phpファイルでtimezoneの値を変更します。
これはこのセクションに書かれています
|--------------------------------------------------------------------------
| 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.
|
私の場合、アプリケーションのタイムゾーンとしてAsia/Dhakaを使用しています。
適切な構文は次のとおりです。
'timezone' => 'Asia/Dhaka'
PHP 5の タイムゾーンのリスト
これが役立つことを願っています。
コードを更新するには2つの方法があります。 1.app.phpファイルを開いてくださいconfigディレクトリあなたのプロジェクトの大騒ぎで。ページを下に移動して、Application Timezoneを確認します
'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
これを試してください-Lumenのセットアップでディレクトリ「config」を作成し、この「config」ディレクトリ内にapp.phpファイルを作成してください。このようになります-
<?php return ['app.timezone' => 'America/Los_Angeles'];
そうすれば、次のようにその値にアクセスできます-
$value = config('app.timezone');
動作しない場合は、routes.phpにこの行を追加できます
date_default_timezone_set('America/Los_Angeles');
これは私のために働いた!
Config-> app.phpに移動し、「timezone」=>「Asia/Jakarta」を変更します。
(これは私のタイムゾーンです)
私の場合(Lumen 5.1プロジェクトのMySQL dbから日付を読み取る)、唯一の解決策は 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
を使用しても、MySQLデータベースからLumen 5.1 webappで取得したタイムゾーン値には影響しませんでしたが、Lavarel 5.1では機能します。
また、Lumenは私が作成した[Lumen_project]/config/app.php
ファイルをまったく読みませんでした(構文エラーをそこに置いても文句を言いませんでした)。
date_default_timezone_set
を使用しても機能しませんでした。
app.phpを変更したら、必ず実行してください:
php artisan config:cache
これは、構成設定のキャッシュをクリアするために必要です。 app.phpファイルのタイムゾーンを変更してもタイムスタンプが間違っていることに気付いた場合、上記のコマンドを実行するとすべてが更新され、新しいタイムゾーンが有効になります。
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',
そして..
'timezone' => 'Europe/Paris',
Lumenの.envファイルで、タイムゾーンを指定します。インドの場合、次のようになります。
APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
PHPマニュアルのPHPタイムゾーンを使用 Phpタイムゾーン
たとえば、私はconfig/app.phpのUTC値から次のように変更しました
'timezone' => 'Africa/Nairobi',