2016-08-05 9 views
0

に比べて私はbooking_dateでフォームを持っていると私は2016年3月1日の日付でフォームに記入する際、これらが送信パラメータです保存しました保存後のデータベースでは、2016年2月29日に保存されます。日は1日早く形

=> #<Pturnover id: 5, booking_date: "2016-02-29 23:00:00" 

これはどのように可能ですか、それはタイムゾーンなどと関連していますか?以下のような

+0

'は、それがタイムゾーンか何かに関連している可能性が' 'yes'? – hgsongra

答えて

0

Railsはdatetimeをデフォルトでutcタイムゾーンでデータベースに保存します。文字列との/からの日時変換では、ローカルタイムゾーン(OSのいずれか1つまたは手動設定)を考慮に入れることができます。ローカルとutcの間の変換は、表示されている不一致の原因と考えられます。

Railsでのタイムゾーンの扱いはかなりの話題なので、ある程度深いところでアプローチすることをお勧めします。ここではいくつかの関連するリソースは次のとおりです。

RailsCasts #106 Time Zones (revised)

The Exhaustive Guide to Rails Time Zones

Working with time zones in Ruby on Rails

It's About Time (Zones)

0

あなたが保存する前にinputed時間を変換することができたりショーpage.Conversionに表示したときにその時間を変換することができますことになります。

ActiveSupport::TimeZone.new("Asia/Tokyo").local(your_inputed_time_here) 

お役に立てば幸いです。

関連する問題