回答
使用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
}
}
(我大大更喜欢Joda API到Date
/Calendar
。它使用起来更容易,部分原因是因为通常更喜欢不变性。)
Joda-Time支持Java版本1.4.2吗? –
@Kit:您可能需要找到一个1.x的版本 - 2.0使用泛型等,所以需要Java 1.5或更高,我相信。 –
为了使其更容易,放眼['PeriodFormatterBuilder'(http://www.joda.org/joda-time/apidocs/org/joda/time/format/PeriodFormatterBuilder.html)类。例如,打印年和月,像 “十五年8个月” 格式化器,可构造如下: 'PeriodFormatter yearsAndMonths =新PeriodFormatterBuilder() .printZeroAlways() .appendYears() .appendSuffix( “年”, “年”) .appendSeparator( “和 ”) .printZeroRarelyLast() .appendMonths() .appendSuffix(“ 月”, “月”) .toFormatter();' –
- 1. 日期之间的日期与时间
- 2. java日期扣除小时 - 两小时之间的期间
- 3. 日期之间的日期Java(作业)
- 4. 日历之间的Java期间
- 5. MySQL使用现在时间在两个日期之间选择一个日期
- 6. Clojure:现在和一条记录之间的时间差SQL日期时间
- 7. 日期时间在2个日期时间值之间的行SQL
- 8. 行之间的MySQL日期时间
- 9. 计算日期之间的时间差
- 10. 两列之间的Mysql日期时间
- 11. 日期时间之间的差异
- 12. 的Java SQL日期时间
- 13. Moment.js检查日期时间是否在一组日期和时间之间
- 14. java中两个日期之间的时间差异
- 15. 在Java和C++之间同步日期
- 16. 计算两个日期之间的日间时间和夜间时间
- 17. 现在的日期和结束日期之间的百分比
- 18. 获取两个日期之间的最大日期/时间
- 19. 开始日期到结束日期之间的查找时间
- 20. 日期时间和日期格式之间的差异天数
- 21. 日期时间列落在两个时间范围之间
- 22. 两个日期之间有或没有momentjs之间的时间
- 23. 我需要计算一个日期时间列之间的日期/时间差
- 24. Java日期时间查看
- 25. Java日期时间差
- 26. Java日期和时间
- 27. Java日期和时间
- 28. Java日期时间问题
- 29. mysql - 在所有日期出现的日期之间搜索
- 30. 检查日期是在Java中的两个日期之间
你有没有尝试过?你在挣扎什么?你有没有用伪代码写出来? – luketorjussen
您会看到许多伟大的库已经实现了这种功能,例如[joda-time](http://joda-time.sourceforge.net/)。 –
基于什么?你说6年,但基准日期是多少? – Tarik