Postgres type としていくつかのタイムスタンプが保存されていtimestamp without time zoneます。
タイムスタンプ2013-12-20 20:45:27を例として使用します。これが UTC タイムスタンプを表すことを意図しています。
psql でクエリを実行するとSELECT start_time FROM table_name WHERE id = 1、予想どおり、そのタイムスタンプ文字列が返されます2013-12-20 20:45:27。
ただし、Node アプリケーションで node-postgres ライブラリを使用して同じクエリを実行すると、ローカル タイムゾーンのタイムスタンプが返されます: Fri Dec 20 2013 20:45:27 GMT-0600 (CST). これは Javascript の日付オブジェクトですが、既にそのタイムゾーンとして保存されています。私が本当に欲しいのは、を表す日付オブジェクト (または単なる文字列) です2013-12-20 20:45:27 GMT+0000。この時間がUTCであることはすでに知っています。
postgresql.conf ファイルの timezone パラメータを: に設定しようとしましたがtimezone = 'UTC'、結果に違いはありません。
私は何を間違っていますか?
編集
問題はこのファイルにあるようです: https://github.com/brianc/node-postgres/blob/master/lib/types/textParsers.js
Postgres から返された日付文字列にタイムゾーンが指定されていない場合 (つまり、Zまたは+06:30DB のタイム ゾーンを変更するか、このコンバーターをオーバーライドします。