0

ユーザーに時間「00:00」、「01:00」などを表示するドロップダウンが表示されるレールビューがあります。

ユーザーがこの時間を選択すると、他のフィールドとともにモデルに保存されます。

私のアプリケーションはタイムゾーン UTC+2 で動作しています (私は を設定しconfig.time_zone = 'Jerusalem'ました)。
ビューからモデルへのパスでこの時間を処理するとき、タイムゾーンに関連するのはどの段階ですか? eg を使用するDateTime.strptime("10:00", "%H:%M").in_time_zone(Time.zone)と、「12:00」の時間が取得されますが、データベースが UTF で保存されることを本当に望んでいます (これは08:00、サイトの残りの部分が現地時間で動作している間です。

4

1 に答える 1

0

TZInfo Ruby ライブラリhttp://tzinfo.rubyforge.orgを使用して、次の方法で時間を変換できます。

def local_to_utc(date, time_zone)
  begin
    unless time_zone.nil?
      tz = TZInfo::Timezone.get(time_zone)
      return tz.local_to_utc(date)
    end
  rescue 
    return nil
  end
end
于 2012-12-27T00:06:56.613 に答える