如何将有或没有时间的字符串中的日期转换为DATE

时间:2017-11-24 09:31:43

标签: java sql date datetime

我有一个字符串格式的日期,如“2017-11-16”或“2017-11-16 12:59:11.243”。我必须将其转换为日期。

以下是我的代码:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
Date createdOn = formatter.parse(date); 

当日期为“2017-11-16 12:59:11.243”时,它可以正常工作。但无法使用“2017-11-16”日期格式化。

字符串日期来自URL,因此它可以是时间或没有时间。尽管有什么类型的日期来自URL,我如何将其转换为日期?

实际上,我必须根据日期从数据库中找到行。在数据库中,日期以2017-11-16 12:59:11.243的格式存储。但如果从URL 2017-11-16即将到来,那么它应该根据这个日期找到。

1 个答案:

答案 0 :(得分:3)

您可以根据时间的存在修改分析

if(dateOrDataTime.contains(":")){
  //Use parser with date-time. & fetch with equal
}else{
  //Use parser for date only. & fetch using date(date_time)
}