Postgresql之時間戳long,TimeStamp,Date,String互轉方式
更新時間:2023年03月21日 09:07:21 作者:程序媛一枚~
這篇文章主要介紹了Postgresql中的時間戳long,TimeStamp,Date,String互轉方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
時間戳long,TimeStamp,Date,String互轉
今天遇到一個神奇的問題:
Postgre數(shù)據(jù)庫里存的 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')
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PostgreSQL Public 模式的風險及安全遷移問題小結
本文主要討論了PostgreSQL中public模式的問題和解決方案,public模式默認對所有用戶開放訪問權限,容易發(fā)生命名沖突,且難以維護和隔離,修改或刪除它可能導致擴展無法正常工作,為解決這問題,建議新建模式,將public模式下的所有業(yè)務對象遷移過去2024-10-10
postgresql中wal_level的三個參數(shù)用法說明
這篇文章主要介紹了postgresql中wal_level的三個參數(shù)用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
教你如何在Centos8-stream安裝PostgreSQL13
這篇文章主要介紹了Centos8-stream安裝PostgreSQL13,初始化PostgreSQL需要先創(chuàng)建postgresql儲存目錄,啟動postgresql數(shù)據(jù)庫,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-02-02

