2015-11-09 11 views
6

各ユーザーに動的なタイムゾーンを設定する方法を知っている人はいますか? タイムゾーンがデータベースに格納されている場合、データベースから取得して実行時に設定すると、毎回コードに設定する必要はありません。yii2で動的なタイムゾーンを設定する

答えて

9

これは、タイムゾーンが列timezoneの文字列としてusersテーブルに格納されていると仮定して、それを行う方法の例です。これをアプリケーションに追加してください。config:

'on beforeRequest' => function() {   
    $user = Yii::$app->user->identity; 
    if ($user && $user->timezone) { 
     Yii::$app->setTimeZone($user->timezone); 
    } 
}, 

このコードは、特定のユーザーに応じてリクエスト前に実行され、タイムゾーンを設定します。もちろん、別のクラスに移動してここから呼び出すこともできます。

公式ドキュメント:

+1

感謝。私は昨日からそれを理解した。 他のユーザーに役立つことを願っています – user2707590

+0

@ user2707590この場合、回答を受け入れることもできます。 – arogachev

+1

申し訳ありませんが、忘れてしまいました。ここでは.. – user2707590

関連する問題