日期和现在之间的Java时间

Ric*_*ton 3 java time date

我需要帮助在Java中编写一个函数,它接受输入日期并告诉我自该日期以来的年,月和日数.

例如,"2005年7月1日"将输出"6年,2个月,2天"

Jon*_*eet 7

使用Joda Time - 它相对容易:

import org.joda.time.*;

public class Test
{
    public static void main(String[] args)
    {
        LocalDate then = new LocalDate(2005, 7, 1);
        LocalDate today = new LocalDate();

        Period period = new Period(then, today, PeriodType.yearMonthDay());
        System.out.println(period); // P6Y2M2D
        System.out.println(period.getYears()); // 6
        System.out.println(period.getMonths()); // 2
        System.out.println(period.getDays()); //2
    }
}
Run Code Online (Sandbox Code Playgroud)

(我非常喜欢使用Joda API来Date/ Calendar.它更容易使用,部分原因是通常更喜欢不变性.)