我有一个以毫秒为单位的时间戳:
1420066991000
translates表示UTC:
Wed Dec 31 2014 23:03:11
和当地时间:
Thu Jan 01 2015 00:03:11
但是,如果我尝试将其转换为Postgres中的时间戳,使用to_timestamp,它会给我一个错误的日期时间:
select to_timestamp(1420066991000);
46970-02-17 13:03:20+00
自to_timestamp,expects a double precision input以来,我也这样做了:
select to_timestamp(1420066991000.0);
46970-02-17 13:03:20+00
但结果是一样的。
我在Postgres配置中遗漏了什么,比如某些时区设置?还是一个bug?
答案 0 :(得分:5)
to_timestamp()
转换unix时间,即以秒为单位的时间。由于你有数百万的数据,你应该将它除以1000。
select to_timestamp(1420066991000/1000);