大家好我最近被分配了从 excel 表中收集一些数据并将它们放在数据库中的任务,这里的主要要求是数据必须是健壮的。这里的困难部分是许多字段都是日期,并且它们没有标准格式,所以我可以用普通的日期解析器解析它们。
例如,像"4-Mar 02:35"
这样的日期看起来像这样"5-Mar"
"2.2.13 6:30
"
喜欢这个"23/2/13 17:45"
,并且像这样"2.2.13 6.30"
有没有办法以不会在结束日期添加不存在的其他信息的方式解析它们?
答案 0 :(得分:1)
我使用JodaTime(http://www.joda.org/joda-time/)及其灵活的解析器。
有了这个,你可以为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();
本博文中详细解释了这一点:http://edgblog.wordpress.com/2014/02/17/jodatime-goodies-flexible-parsing/
最好的问候