web-dev-qa-db-ja.com

ルーメンまたはLaravel 5のタイムゾーンを変更します

Lumenフレームワークを使用しています。タイムゾーンをヨーロッパ/パリCESTに変更するにはどうすればよいですか?

.envファイルに変数を追加しました:

APP_TIMEZONE=Europe/Paris

しかし、これは機能しません。タイムゾーンを更新する正しい方法は何ですか?

38
StormTrooper

app.phpconfig 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

15
Prashant Barve

これを試してください-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');

これは私のために働いた!

6
Sachin Vairagi

Config-> app.phpに移動し、「timezone」=>「Asia/Jakarta」を変更します。

(これは私のタイムゾーンです)

5

私の場合(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を使用しても機能しませんでした。

4

app.phpを変更したら、必ず実行してください:

 php artisan config:cache

これは、構成設定のキャッシュをクリアするために必要です。 app.phpファイルのタイムゾーンを変更してもタイムスタンプが間違っていることに気付いた場合、上記のコマンドを実行するとすべてが更新され、新しいタイムゾーンが有効になります。

3
agm1984

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',
3

Lumenの.envファイルで、タイムゾーンを指定します。インドの場合、次のようになります。

APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
3
shasi kanth

PHPマニュアルのPHPタイムゾーンを使用 Phpタイムゾーン

たとえば、私はconfig/app.phpのUTC値から次のように変更しました

'timezone' => 'Africa/Nairobi',
1
TechPotter

私にとってapp.phpは/vendor/laravel/Lumen-framework/config/app.phpでしたが、.envファイルから変更して、リストされている値のいずれかに設定することもできます here (PHPオリジナルドキュメント ここ )。

0
Eloy Ruiz