Postgresql: 时间戳long,TimeStamp,Date,String互转
今天遇到一個神奇的問題:Postgre數據庫里存的 10位long類型的時間戳,拿Java代碼轉完的日期年月日時分秒,轉出來的時間和在pgAdmin里用sql轉完的日期 整整差了8個小時。。。。。
你不信嗎? 請看圖
時間戳:1598619305 轉時間:年月日時分秒
select 1598619305,to_timestamp(1598619305),to_char(to_timestamp(1598619305),‘YYYY-MM-DD HH24:MI:SS’);
PgAdmin窗口:
Java窗口:
1. 時間戳Long轉Timestamp
select TO_TIMESTAMP(1512490630) as time from tablename;
2. TimeStamp轉時間戳Long,轉出來可能差8小時,需要減去8小時
轉10位
SELECT EXTRACT(epoch FROM NOW())-83600;
SELECT EXTRACT(epoch FROM CAST(‘2017-12-06 00:17:10’ AS TIMESTAMP))-83600;
轉13位 轉13位向下取整
SELECT EXTRACT(epoch FROM NOW())1000–836001000,floor(EXTRACT(epoch FROM NOW())1000-836001000);
4. String轉Date 只能得到年月日,得不到時分秒,怪哉,在這篇博文里找到了答案,設計如此…
select to_date(‘2020-08-28 12:55:05’)
5. TimeStamp 10位,13位 轉String
select to_char(to_timestamp(1512490630), ‘YYYY-MM-DD HH24:MI:SS’);
SELECT to_char(to_timestamp(t.create_time / 1000), ‘YYYY-MM-DD HH24:MI:SS’);
10位轉String
SELECT to_char(to_timestamp(t.create_time / 1000), ‘YYYY-MM-DD HH24:MI:SS’)
參考:
https://blog.csdn.net/qq_36273946/article/details/86546350
總結
以上是生活随笔為你收集整理的Postgresql: 时间戳long,TimeStamp,Date,String互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Python,OpenCV,dlib
- 下一篇: Open3D DbScanCluster