在java中解析不适合格式的日期

在java中解析不适合格式的日期,java,parsing,date,Java,Parsing,Date,大家好,我最近被分配任务,从excel工作表中收集一些数据,并将它们放入数据库。这里的主要要求是数据必须是健壮的。这里的困难部分是许多字段是日期,它们没有标准格式,因此我可以使用普通的日期分析器对它们进行解析。 例如,有些日期看起来像这样“4-Mar 02:35”像这样“5-Mar”像这样 "2.2.13 6:30 " 像这样的“23/2/13 17:45”和像这样的“2.2.13 6.30”有没有办法解析它们,使不存在的附加信息不会添加到结束日期 我会使用JodaTime()和flexib

大家好,我最近被分配任务,从excel工作表中收集一些数据,并将它们放入数据库。这里的主要要求是数据必须是健壮的。这里的困难部分是许多字段是日期,它们没有标准格式,因此我可以使用普通的日期分析器对它们进行解析。 例如,有些日期看起来像这样
“4-Mar 02:35”
像这样
“5-Mar”
像这样

"2.2.13 6:30
" 
像这样的
“23/2/13 17:45”
和像这样的
“2.2.13 6.30”
有没有办法解析它们,使不存在的附加信息不会添加到结束日期

我会使用JodaTime()和flexibel解析器

有了它,您可以为DateTimeparser定义几个模式

例如:

DateTimeFormatter dateTimeFormatter=
DateTimeFormat.forPattern("dd/MM/yy hh:mm") ;

DateTimeFormatter dateTimeFormatterWithTimeZone=
DateTimeFormat.forPattern("d.M.YY hh:mm");

DateTimeFormatter optionalTimeZoneFormatter=
new DateTimeFormatterBuilder()
.append(null, //because no printing is required
new DateTimeParser[]{dateTimeFormatter.getParser(),
dateTimeFormatterWithTimeZone.getParser()}).toFormatter();
在这篇博文中有更详细的解释:


致以最诚挚的问候

您想解析什么
java.util.Date
(etc)不知道格式。。。如果你也需要保留原始值,只需将其与解析值分开。你可以查看以下链接:1-2-谢谢,但你能给我一个例子吗?解析此类日期的方法是什么“4-Mar 02:35”你必须通过模式来定义它。我上面回答的两个例子已经是你给出日期的例子了。第一个格式化程序将解析
“23/2/13 17:45”
第二个
“2.2.13 6.30”
为了解析一个以其名称命名的月份,我记得您必须使用
MMM
。也可以看看这个博客的链接。