2013-04-17 65 views
4

我想知道確切地說有多少個月和幾天(可能是幾年)某些較早的日期是從今天開始的。有沒有辦法做到這一點?Jodatime是否有一種方法可以獲得自某個較舊日期以來的月份和日期?

我知道如何獲得月份的差異,我知道如何在幾天內獲得差異。但我無法獲得數月和數天。

例:

老= '2013年3月4日' 現在= '2013年4月17日'

所以結果即時尋找有點像1個月(S)和13 *一天(s)

*也許它的12我不是每一個確定。

回答

4

這可以通過在JodaTime中使用Period來完成。

例如,

LocalDate old = new LocalDate(2013, 3, 4); 
LocalDate now = new LocalDate(2013, 4, 17); 

Period p = new Period(old, now, PeriodType.yearMonthDay()); 

要得到個月,使用p.getMonths(),以獲得天p.getDays()

該示例的結果是1個月13天。

+0

這對我有用!謝謝!! – iCodeLikeImDrunk

1

是的,見間隔the documentation

間隔

在約達時間的間隔表示時間從一個 一瞬間到另一瞬間的間隔。這兩個時刻都在日期時間連續體中完全指定爲時刻 ,並帶有時區。

區間實現爲半開區,也就是說開始 時刻是包含的,但結束時刻是獨佔的。最後是 總是大於或等於開始。兩個終點都是 限於具有相同的年表和相同的時區。

提供了兩個實現,Interval和MutableInterval,兩個 都是ReadableInterval的特化。

相關問題