4

config.phpのタイムゾーンに次の設定を使用しています

'timeZone' => 'UTC',

正常に動作しており、すべての日付はUTCに従ってデータベースに保存されています。現在、各ユーザーは自分のプロファイルにUTC+5UTC-5UTC+0などの独自のタイムゾーンを持っています。

ユーザーのタイムゾーンに従ってレポートに日付を表​​示するにはどうすればよいですか。データベースからレコードを取得するためにアクティブレコードを使用しました。すべてのクエリに一般的な方法はありますか、またはPHPで毎回手動で日付をユーザーのタイムゾーンに変換する必要がありますか??

ありがとう。

4

3 に答える 3

5

config の main.php ファイルに以下の値を追加することで、Yii でタイムゾーンを設定できます。

return array(   
  'timeZone' => 'Asia/Kolkata',
 )

PHP のタイム ゾーン リスト: http://php.net/manual/en/timezones.php

于 2014-01-03T13:57:20.740 に答える
2

afterFind を使用して、それに応じて時間を変更できます

public function afterFind()
{
    //apply your logic here
    $zone = Yii:app()->timeZone;

    // I don't know code to change time zone, so I assume there is a function named "functionToChangeTimeZone"
    $this->time = functionToChangeTimeZone($this->time , $zone);

    return parent::afterFind();
}

これで、すべてのレコードで、設定に従ってタイムゾーンが変更されます

于 2013-11-04T08:35:26.290 に答える