Postgresql之時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式
時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)
今天遇到一個(gè)神奇的問題:
Postgre數(shù)據(jù)庫里存的 10位long類型的時(shí)間戳,拿Java代碼轉(zhuǎn)完的日期年月日時(shí)分秒,轉(zhuǎn)出來的時(shí)間和在pgAdmin里用sql轉(zhuǎn)完的日期 整整差了8個(gè)小時(shí)。。。。。
你不信嗎? 請(qǐng)看圖
時(shí)間戳:1598619305 轉(zhuǎn)時(shí)間:年月日時(shí)分秒
select 1598619305,to_timestamp(1598619305),to_char(to_timestamp(1598619305),‘YYYY-MM-DD HH24:MI:SS');
PgAdmin窗口:

Java窗口:

1.時(shí)間戳Long轉(zhuǎn)Timestamp
select TO_TIMESTAMP(1512490630) as time from tablename;
2.TimeStamp轉(zhuǎn)時(shí)間戳Long
轉(zhuǎn)出來可能差8小時(shí),需要減去8小時(shí)
轉(zhuǎn)10位
SELECT EXTRACT(epoch FROM NOW())-83600; SELECT EXTRACT(epoch FROM CAST(‘2017-12-06 00:17:10' AS TIMESTAMP))-83600;
轉(zhuǎn)13位 轉(zhuǎn)13位向下取整
SELECT EXTRACT(epoch FROM NOW())1000–836001000,floor(EXTRACT(epoch FROM NOW())1000-836001000);
4.String轉(zhuǎn)Date 只能得到年月日
得不到時(shí)分秒,怪哉,在這篇文章里找到了答案,設(shè)計(jì)如此…
select to_date(‘2020-08-28 12:55:05')
5.TimeStamp 10位,13位 轉(zhuǎn)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位轉(zhuǎn)String
SELECT to_char(to_timestamp(t.create_time / 1000), ‘YYYY-MM-DD HH24:MI:SS')
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
PostgreSQL Public 模式的風(fēng)險(xiǎn)及安全遷移問題小結(jié)
本文主要討論了PostgreSQL中public模式的問題和解決方案,public模式默認(rèn)對(duì)所有用戶開放訪問權(quán)限,容易發(fā)生命名沖突,且難以維護(hù)和隔離,修改或刪除它可能導(dǎo)致擴(kuò)展無法正常工作,為解決這問題,建議新建模式,將public模式下的所有業(yè)務(wù)對(duì)象遷移過去2024-10-10
postgresql中wal_level的三個(gè)參數(shù)用法說明
這篇文章主要介紹了postgresql中wal_level的三個(gè)參數(shù)用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
教你如何在Centos8-stream安裝PostgreSQL13
這篇文章主要介紹了Centos8-stream安裝PostgreSQL13,初始化PostgreSQL需要先創(chuàng)建postgresql儲(chǔ)存目錄,啟動(dòng)postgresql數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02

