我剛開始使用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