通过提示用户输入日期格式来解析日期?

时间:2012-02-23 10:50:33

标签: java parsing date time jodatime

我的应用程序读取用户提供的csv文件。此csv文件包含日期和/或时间字段,以用户选择它的任何方式进行格式化。喜欢: 1999年10月28日 要么 2000-01-01,3PM-02-59

我想让用户可以在此字段中指明日期和时间的格式。所以,我有一个输入窗口说: “指定日期/时间字段的格式” “示例:对于1999/10/28格式,输入yyyy / mm / dd” “其他例子:2000-01-01,3PM-02-59,输入yyyy-dd-mm,hh-mm-ss”

我会将它们的输入检索为字符串,然后执行一些复杂且烦人的操作以从该字符串派生正则表达式,然后我将在csv解析器中应用它来识别年,月,日,小时等。 “日期和时间”字段。

我在开始这个问题之前的问题:是否有一个库已经做过这种事了?我重新发明轮子了吗?有没有更明显的方法我错过了?

非常感谢!

PS:是的,这完全取决于用户提供他们自己奇怪的日期和时间格式。没有必要建议使用统一格式更容易! : - )

2 个答案:

答案 0 :(得分:1)

在Joda Time中你可以使用多个解析器,你可以查看这个SO答案 Using Joda Date & Time API to parse multiple formats

答案 1 :(得分:0)