7

フォームを使用して新しいオブジェクトを作成したところ、その updated_at および created_at 値は

created_at: "2013-04-25 03:22:19", updated_at: "2013-04-25 03:22:19",

ただし、これは現在地 (PST) よりも 7 時間ほど進んでいます。

Time.now.to_s
 => "2013-04-24 20:23:12 -0700" 

ユーザーがタイムゾーンを作成している場所とタイムゾーンが一致していることを確認するにはどうすればよいですか?

4

2 に答える 2

15

created_atとのupdated_at値はサーバーからデータベースに書き込まれるため、常にサーバーまたはアプリケーションのタイムゾーンになります。サーバーがフォーム データを処理してデータベースに保存するまでには、サーバーはブラウザのタイム ゾーンを認識していません。

config.time_zone@lulalalaが提案したように、を使用してRailsのタイムゾーンを設定できます。

ユーザーのネイティブ タイム ゾーンで時刻を表示することに関心があるようですね。これには 2 つのオプションがあります。

タイムゾーンをユーザー属性として保存したら、次のように時間をユーザーに表示できます。

Model.created_at.in_time_zone(@current_user.time_zone)
于 2013-04-25T06:27:13.543 に答える