Rails アプリを VPS にデプロイした後、「時間」に問題がありました。少し戸惑った後、日付/時刻変換を使用するとRailsが奇妙な動作をすることがわかりました。
私のサーバーはタイムゾーン「アムステルダム」に設定されており、Rails構成ではタイムゾーンも「アムステルダム」に設定しています
例:
json/api の本文コンテンツを介してこの文字列を受け取ります
date = "13-03-2015 09:29"
この文字列を次のように変換する
date.to_datetime
と、結果は"Fri, 13 Mar 2015 09:29:00 +0000"になります。
次のように文字列を変換する
date.to_time
と、結果は「2015-03-13 09:29:00 +0100」になります
ご覧のとおり、時間補正「+0000」と「+0100」の追加方法に違いがあります。
したがって、次のように変換する
date.to_time.to_datetime
と、結果は「Fri, 13 Mar 2015 09:29:00 +0100」になります。
私のpostgreデータベースが間違った日付(+1時間)を返してくれたので、これが私が必要としていた結果です
私の質問は次のとおりです。
.to_date and
と の動作の違いの説明は何ですか?.to_datetime
Postgres はどのように日付を処理しますか。この「Fri, 13 Mar 2015 09:29:00 +0000」のような日時パラメーターを保存すると、この日付が json 応答でレンダリングされ、1 時間後になります。
誰かが私にこれを説明してくれることを願っています。
マルティン