java智能日期解析器

时间:2011-05-24 21:15:01

标签: java parsing date

Java中是否有一个智能日期解析器可以解析各种日期格式而不知道格式是什么? 例如,我可以使用以下格式:

21-3-1998,
March 2004, 2001, 
3/4/97
12-Dec-1998

是否有简单的解析调用(第三方lib可以)我可以用来处理它们吗?

3 个答案:

答案 0 :(得分:1)

我不知道是否有一个很好的开箱即用的选择,给出几乎无限数量的排列;但是,如果我必须这样做,我将从事实上的Java日期包Joda开始,然后使用允许的数据格式序列进行线性查找,并接受第一个可以解析的日期。

答案 1 :(得分:0)

请参阅:

Is there a good date parser for Java?

提供一些建议。 (Apache Commons和Joda Time)

答案 2 :(得分:-2)

您是否尝试过SimpleDateFormat.parse(String, ParsePosition)的标准Java解决方案?

根据the documentation

  

解析字符串中的文本以生成一个   日期。该方法尝试解析   从指定的索引开始的文本   POS机。如果解析成功,那么   pos的索引更新为索引   在使用最后一个字符之后(解析   并不一定全部使用   人物直到最后   字符串),解析日期是   回。可以使用更新的pos   指出的起点   接下来调用此方法。如果有错误   发生,然后pos的索引不是   更改后,设置pos的错误索引   到字符索引所在的位置   发生错误,null为   返回。