Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java.sql.Date上截断时间?_Java_Date - Fatal编程技术网

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

如何在java.sql.Date上截断时间?,java,date,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()); 我想

我有以下代码:

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());
我想将
completionDate
与Oracle数据库表中不包含时间的日期值进行比较。例如,我想将其与值“4/24/2009”进行比较,并使其返回true,因为这些日期是相同的


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

如下定义SimpleDataFormat对象

private final Pattern timeSection = Pattern.compile("\\s+.+?:.*");

String stripTime(String dateStringWithTime){
   Matcher m = timeSection.matcher(dateStringWithTime);
   if(m.find()){
      return m.replaceAll("");
   }
   return dateStringWithTime;
}
DateFormat format=new SimpleDateFormat("MM/dd/YYYY");
试试这个:

String dateCompleted = "4/24/2009 2:38:44 PM";
DateFormat format = new SimpleDateFormat("MM/dd/yyyy"); 
java.util.Date tempDate = format.parse(dateCompleted);
java.sql.Date completionDate = new java.sql.Date(tempDate.getTime());

与@sgpalit所述相同。

Apache Commons Lang有一种日期截断方法,可用于此:

java.util.Date truncated = DateUtils.truncate(tempDate, Calendar.DATE);

有关更多详细信息,请参阅Javadocs。

从有效的格式字符串中删除hh:mm:ss a。谢谢