終了時の文字列を新しいTimeオブジェクトに変換する際にこの問題が発生しています。私は上で見たように、結果として08:00
をバック与えコンソールRuby on Railsの時間属性に関する問題
t = Time.parse("8am")
2010-12-06 08:00:00 +0530
でこれを入力する
。
しかし、私は
business.start_time = t
business.save(:validate => false)
を使用して、この値を格納するときには、MySQL DBに02:30
を格納します。
これは、コンソール経由で保存する場合にのみ発生します。同じデータがフォームから来た場合、MySQLテーブルには08:00
として正しく格納されます。ここに問題はありますか?タイムゾーンはデフォルトのutcとは異なります。助けてください。私は何をすべきか。
テーブルのすべてのレコードを解析し、1つの文字列属性を取り、それを同等のTimeクラス値に変換し、同じテーブルの別の属性に格納する必要があります。私はそれのためのレーキタスクを書いています。しかし、格納中に、私は02:30(例えば)08:00を得ます。
アプリで「8am」を使用すると、午前8時(IST)ではなく午前8時(UTC)を意味しますか? – Gareth
business.start_time.utcとt.utcの出力は何ですか? – Bohdan
business.start_time.utcは2000-01-01 02:30:00 UTCを – Anand