3

私はpostgresqlで日付フィールドを数値として持っており、日付の値は1401710352000のようで、to_timestamp(date)を使用して変換しようとすると、対応するタイムスタンプが「46388-06-07 10:40:00+00」として取得されます"

私はそれをグーグルで検索しようとしましたが、postgresql でさまざまな型変換を行う方法について非常に便利な関数を見つけましたが、数値の日付を適切な読み取り可能な形式にキャストする方法を見つけることができませんでした。数値の日付フィールドをタイムスタンプ/日付の読み取り可能な形式に変換する方法を誰かが教えてくれれば、私は感謝します

シャー

4

2 に答える 2

10

細かいマニュアルから:

to_timestamp(double precision)
タイムゾーン付きのタイムスタンプは
、Unixエポックをタイムスタンプに変換します

Unix エポックは秒単位ですが、数値はミリ秒単位のようです。単位を修正すると、合理的に見えるものが得られます。

=> select to_timestamp(1401710352000::numeric/1000);
      to_timestamp      
------------------------
 2014-06-02 04:59:12-07

したがって、おそらく を呼び出す前に、1000 で割って単位を修正する必要があるだけですto_timestamp

于 2014-10-05T00:30:41.723 に答える