3

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時間)を返してくれたので、これが私が必要としていた結果です

私の質問は次のとおりです。

  1. .to_date andと の動作の違いの説明は何ですか?.to_datetime

  2. Postgres はどのように日付を処理しますか。この「Fri, 13 Mar 2015 09:29:00 +0000」のような日時パラメーターを保存すると、この日付が json 応答でレンダリングされ、1 時間後になります。

誰かが私にこれを説明してくれることを願っています。
マルティン

4

0 に答える 0