測試:PostgreSQL的timestamp類型


Java 8

PostgreSQL 10

 

一直對 timestamp without time zone、timestamp with time zone 類型疑惑。

到底改使用哪個呢?

 

將 new Date() 存入 兩個類型的字段中,pgAdmin工具 展示如下:

 timestamp without time zone 在顯示時,看到了 時區信息:+08。

 

獲取數據后會是怎樣呢?

代碼如下:

log.info("2 DevTest dt2={}", dt2);
log.info("2 DevTest dt2={}", dt2.getTimestamp1().getTime());
log.info("2 DevTest dt2={}", dt2.getTimestamp1().getTimezoneOffset());
log.info("2 DevTest dt2={}", dt2.getTimestamp2().getTime());
log.info("2 DevTest dt2={}", dt2.getTimestamp2().getTimezoneOffset());

輸出日志:

2 DevTest dt2=DevTest(id=9, name=dd, timestamp1=Tue Mar 22 19:21:52 CST 2022, timestamp2=Tue Mar 22 19:21:52 CST 2022, time3=Thu Jan 01 19:21:52 CST 1970, time4=Thu Jan 01 19:21:52 CST 1970)
2 DevTest dt2=1647948112400
2 DevTest dt2=-480
2 DevTest dt2=1647948112400
2 DevTest dt2=-480

timestamp1、timestamp2 字段 的 輸出內容相同——包括 時區偏移。

也就是說,timestamp without time zone 也是有時區信息的,雖然,類型里面有 without

 

預期應該是怎樣的呢?從 timestamp without time zone 類型獲取的數據時 沒有時區的。

 

測試完畢。

需要合理使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM