2016-04-04 30 views
1

私はLaravelでWebサイトを開発しています。 config/app.phpにデフォルトのタイムゾーンを設定しましたが、ユーザーのタイムゾーンに関する情報を表示する必要があるセクションが1つあります。ある特定のコントローラがユーザタイムゾーンを使用するオプションがありますか?Laravelは1つのコントローラに対して動的にタイムゾーンを設定します

+0

あなたの質問は少し不明です。 '$ user-> created_at-> setTimezone( 'America/New_York')'のようなものを使って、アプリケーションのタイムゾーンから(潜在的にはユーザ指定の)タイムゾーン値に日付を変換することができます。 – ceejayoz

答えて

3

リクエストの任意の時点でconfig()ヘルパーを使用して設定値を設定することができます。この変更はその要求にのみ影響します。

あなたのケースでは、1つのオプションはコンストラクタ内の設定をコントローラに更新することです。その後、そのコントローラーによって処理される要求は、更新されたタイムゾーン設定を使用します。

class MyController extends Controller 
{ 
    public function __construct() 
    { 
     config(['app.timezone' => 'America/Chicago']); 
    } 
} 

より多くのグローバルまたは細かい制御が必要な場合は、どこでもそのステートメントを移動できます。あなたはすべてのユーザーのために現地時間を表示したいとあなたはLaravel日(カーボン)を使用している場合

0

は、あなたがこのような何かを行うことができます。

if (Auth::check()) { 
    $object->created_at->setTimezone(Auth::user->timezone) 
} 
関連する問題