天天看點

Java報錯系列——java.util.Date/java.sql.Date/java.sql.Timestamp

前言

前幾天,在項目中,遇到一個問題,情況很簡單,就是從MYSQL資料庫中取出的時間隻有年月日,而沒有時分秒。然後,第一直覺就是肯定是我導入的包有問題,果然,我導入的是java.sql.Date包,修正為java.util.Date,問題依舊。這是為什麼呢?曾經記得,java.util.Date會取出日期+時間,而java.sql.Date隻會有日期。這是對的嗎?MYSQL的時間類型經常是datetime/timestamp,我們應該怎麼做呢?

實驗

MYSQL表準備:

<a href="http://s3.51cto.com/wyfs02/M00/6F/04/wKiom1WPXmjizWOBAABAGrM-plM065.jpg" target="_blank"></a>

代碼:

<a href="http://s3.51cto.com/wyfs02/M00/6F/00/wKioL1WPYQjynzwAAAOulCkNouM101.jpg" target="_blank"></a>

輸出:

<a href="http://s3.51cto.com/wyfs02/M00/6F/04/wKiom1WPX3-THQmKAAE2cGmcN6s150.jpg" target="_blank"></a>

結論

無論MYSQL的時間資料類型是datetime/timestamp,如果我們僅僅需要的是日期部分,那麼java.util.Date/java.sql.Date都可以使用;如果我們需要的是日期+時間,那麼應該使用java.sql.Timestamp類型。

本文轉自zfz_linux_boy 51CTO部落格,原文連結:http://blog.51cto.com/zhangfengzhe/1668670,如需轉載請自行聯系原作者