前言

前几天,在项目中,遇到一个问题,情况很简单,就是从MYSQL数据库中取出的时间只有年月日,而没有时分秒。然后,第一直觉就是肯定是我导入的包有问题,果然,我导入的是java.sql.Date包,修正为java.util.Date,问题依旧。这是为什么呢?曾经记得,java.util.Date会取出日期+时间,而java.sql.Date只会有日期。这是对的吗?MYSQL的时间类型经常是datetime/timestamp,我们应该怎么做呢?


实验

MYSQL表准备:

wKiom1WPXmjizWOBAABAGrM-plM065.jpg



代码:

wKioL1WPYQjynzwAAAOulCkNouM101.jpg



输出:

wKiom1WPX3-THQmKAAE2cGmcN6s150.jpg



结论

无论MYSQL的时间数据类型是datetime/timestamp,如果我们仅仅需要的是日期部分,那么java.util.Date/java.sql.Date都可以使用;如果我们需要的是日期+时间,那么应该使用java.sql.Timestamp类型。