1

ではconfig/application.rb、タイム ゾーンを EST に設定しました。

config.time_zone = 'Eastern Time (US & Canada)'

本番サーバーにはCSTタイムゾーンがあります。その結果、すべての日時がCSTではなく で表示されESTます。時刻はデータベースに UTC として適切に保存されます。

EST: -0500
CST: -0600

Database in UTC: 18:15:00
Displayed in CST: 12:15:00
Want in EST: 13:15:00

列のスキーマdate_timeは次のとおりです。

t.datetime "date_time"

date_timeビューでは、次のように呼び出します。

<%= Show.find(1).date_time.strftime('%H:%M') %>

ESTWeb サイト全体で常に表示するように強制するにはどうすればよいですか?

4

3 に答える 3

1

config.time_zone = 'Central Time (US & Canada)'(実際には の例の行です) を使用config/application.rbし、ローカライズ ヘルパーを使用します。

<%= l Show.find(1).date_time, format: '%H:%M' %>

詳細については、こちらをご覧ください。

于 2013-02-04T05:41:19.873 に答える
0

使用するTime.zone = 'Eastern Time (US & Canada)'

更新:これを追加してみてくださいapplication_controller.rb

before_filter :set_timezone

def set_timezone
  Time.zone = 'Eastern Time (US & Canada)'
end
于 2013-02-04T05:35:36.407 に答える
0

Time オブジェクトの作成方法にバグがあることがわかりました。次の構成はCentral Time、サーバーのデフォルト ゾーンを取得します。

Time.new(2012, 1, 1, 11, 0)

で説明されているタイムゾーンを指定して、適切config.time_zoneにピックアップする必要があります。EST

Time.new(2012, 1, 1, 11, 0, Time.zone.formatted_offset)
于 2013-02-05T03:41:00.200 に答える