通过解析输入到现在添加日期

时间:2011-11-01 11:17:50

标签: java parsing date

我很难在未来尝试解析日期,我会提供一些帮助!

这就是问题,我想在当前日期添加解析日期(以便将来使用)。问题是我可以有多种日期格式,例如:

  • DD
  • MM-DD
  • YYYY-MM-DD

因此,如果用户设置类似5的内容,则返回的日期将是(在我们的时间间隔内)2011-11-05。 如果他设置02-14,则为2012-02-14

但是假设我们是4th of november,而用户设置为11-03,它将是2012-11-03而不是2011-11-03,因为它已经过去了。

我尝试使用Calendar,Date,SimpleFormat,但我无法使其正常工作。

我的解析器(使用SimpleDateFormat)正在工作。

你可以帮助我这个吗?我不是要求一个完整的代码,只是让我走上正轨!

谢谢! :)

2 个答案:

答案 0 :(得分:2)

由于您有可接受的输入日期格式的固定列表,请将dateFormat的宽松字段设置为false并检查其中一个字段是否满足您的工作要求或是否引发异常转到下一个图案

dateFormat  = new SimpleDateFormat(PATTERN_ONE);
dateFOrmat.setLenient(false);
dateFormat.parse(INPUT_STRING);
// if an exception is caughtm try with next pattern

答案 1 :(得分:1)

我对jodatime有很好的经验 - http://joda-time.sourceforge.net/。在那里签出Dateformatters。

它有一个非常广泛的API,可让您执行添加和减去日期等操作 - 考虑时区和夏令时等。