一部の表では、「日付」データ型が使用されています。古いシステム(psql 9.1/PHP5.3)では、日付がデータベースに格納されると、その日付が正しく格納されます。しかし、新しいシステム(psql 9.6/PHP 7.1)では、日付が正しく格納されませんでした。旧システムでは7/13/10を格納する際に、例えば、それは次のように格納されますポストグルで「日付」データ型を使用すると、日付表示が正しく表示されない
stage_date | to_timestamp
------------+------------------------
1279004400 | 2010-07-13 00:00:00-07
新しいシステムで同じ日付を格納するとき、それは次のように格納されます
stage_date | to_timestamp
------------+------------------------
1278979200 | 2010-07-12 17:00:00-07
両方オペレーティングシステムは「America/Los_Angeles」に設定されています。古いデータベースは "localtime"(9.1ではシステムのタイムゾーンを使用する)を使用するように設定されています。新しいデータベースは "PDT"を使用します。
新しいシステムで古いシステムの値を "1279004400"と "1278979200"に設定する原因は何ですか?テーブル定義の
パート:誰がここで終わる
Column | Type
--------------+---------------------
id | integer
stage_date | date
何時間帯クライアントの使用.. 'ショータイムzone' –
?。 – DevR
タイムゾーンの混乱を避けるために 'timestamptz'を使用することをお勧めしますが、あなたが理解できない場合はおそらく –