我们知道数据库中的日期格式有两种,一种是带时分秒的datetime类型, 即yyyy-MM-dd HH-mm-ss, 以及只有年月日的date类型,即yyyy-MM-dd。


那么我们应该怎么查询这两种不同format的日期呢?


java中刚好有两种Date类型供我们选择:

1. java.util.Date 
     java.util.Date中的日期包含年月日时分秒, 因此当我们要查询datetime类型的日期时可以用java.util.Date格式来设置参数。

2. java.sql.Date 
     java.sql.Date中的日期只包含年月日, 因此数据库中的date类型可以用java.sql.Date来查询。



如果你需要设置时间的时分秒的话,建议使用Calendar类来构建date,因为Date类型中的setHour/Minute/Second都已经不建议使用。 可以使用Calender中的set来构建自己需要的时间:

Calendar calendar = Calendar.getInstance(); 
 calendar.set(Calendar.HOUR, [0-11]);   //注意Calendar中是12小时制的,分AM和PM。 
 java.util.Date utilDate = calendar.getTime(); 
 java.sql.Date sqlDate = new java.sql.Date(calendar.getTime().getTime());