我刚开始使用Joda时间,一周后我对结果满意。我正在尝试获取格式为“yyyy-MM-dd HH”的两个日期之间的时间范围期限。Jodatime计算中的一个错误在两个日期范围(几乎是一年)之间的期间
直到我来到了一个测试情况下,我写作,在我看来,结果是错误的:
2014-02-05 05 - 2016年2月4日05
乔达结果:
Years: 1 Months: 11 Days: 2 Hours: 0
预期结果:
Years: 1 Months: 11 Days: 30 Hours: 0
我只需要1天多给它得到一个已满2周岁....
我不是一个QA但可以肯定,这是对我的错误......我也跟我们对此的质量保证和她同意。
我想提出一个Github中的错误,但它指出我首先使用Stackoverflow ..任何澄清将不胜感激。
String hourFormat = "yyyy-MM-dd HH";
String startTime = "2014-02-05 05";
String endTime = "2016-02-04 05";
DateTimeFormatter hourFormatter = DateTimeFormat.forPattern(hourFormat);
DateTime start = hourFormatter.parseDateTime(startTime);
DateTime end = hourFormatter.parseDateTime(endTime );
Interval interval = new Interval(start, end);
Period period = interval.toPeriod();
System.out.println(String.format(
"Years: %d Months: %d Days: %d Hours: %d",
period.getYears(), period.getMonths(), period.getDays(), period.getHours()
));
请添加完整的代码示例 – Krease
为了解决我的问题,我需要得到第11个月之后的确切日期和计算出日期和结束日期之间的天数。 **的DateTime daysStartTime = endTime.plusHours(1); ** ** INT天= Days.daysBetween(daysStartTime,结束).getDays(); ** – Rodel
澄清 - 您的代码示例演示他的问题不完整。请让它成为一个独立的可编译示例。 – Krease