如何在java.sql.Date上截断时间?

Eri*_*ica 2 java date

我有以下代码:

String dateCompleted = "4/24/2009 2:38:44 PM";
DateFormat format = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
java.util.Date tempDate = format.parse(dateCompleted);
java.sql.Date completionDate = new java.sql.Date(tempDate.getTime());
Run Code Online (Sandbox Code Playgroud)

我想与completionDate不包含时间的Oracle数据库表中的DATE值进行比较。例如,我想将其与值“ 4/24/2009”进行比较,并使其返回true,因为这些日期是相同的。

如何从变量中截断时间值,以便将其与数据库值进行比较?提前致谢!

Dun*_*nes 5

Apache Commons Lang具有日期截断方法,可用于此目的:

java.util.Date truncated = DateUtils.truncate(tempDate, Calendar.DATE);
Run Code Online (Sandbox Code Playgroud)

DateUtils.truncate有关更多详细信息,请参见Javadocs 。