0
yii2のフォーマッタ(下記参照)を使用してUTC(データベース)時間をユーザーのタイムゾーンに変換するのは簡単ですが、ユーザーのタイムゾーンをデータベースのタイムゾーンに戻すにはどうすればいいですか?次のようにyii2はユーザーのタイムゾーンを保存するためにデータベースに変換します
私の設定ファイルは次のとおりです。
echo Yii::$app->formatter->asDatetime($model->date_created);
をするように、彼らが提出したときにあなたが戻ってそれを変換するにはどうすればよい:
....
'formatter' => [
'class' => 'yii\i18n\Formatter',
'defaultTimeZone'=>'UTC',// for saving values in the database
'timeZone'=>'America\New_York', // for displaying timezones
],....
は、ユーザーにローカルのタイムゾーンを表示するには、それだけで呼び出すことは簡単です私はそれをUTC形式に変換することができますか?
:
私のモデルの検証ルールで、その後、これを行いますあなたが保存したいものや方法を具体的にする必要があります。 – Bizley
あなたは、(入力にタイムゾーン情報が含まれていると仮定して)必要なときに、 '\ Yii :: $ app-> formatter-> timeZone = 'UTC';を設定することができます。しかし、私はフォーマッタとは思えませんこの種の使用を実際に意図しています。代わりに、[DateTime](http://php.net/manual/en/class.datetime.php)を使用して調べることができます。これは、ユーザーからの時間データとともにタイムゾーンとともに初期化することができます。タイムゾーンとフォーマットを好きなように変換したり、データベースに保存する場合はUNIXのタイムスタンプを使用してください。 – Thernys