什么是计算java中两个日历日期之间的时间量的最佳方法。我正在编写一种方法,用于确定在两个日期之间传递的月数,并根据预定义的月数返回布尔值。这是我的代码(无法正常工作)。如何确定Java中两个日历对象之间的时间?
此代码始终返回false。此代码也不考虑已过去的天数。如果开始日期是一个月末,这可能是一个问题。有没有简单的compareTo方法?
private boolean hasMatured()
{
Calendar now = Calendar.getInstance();
Calendar start = (Calendar) super.dateOpened.clone();
int nowYear = now.get(Calendar.YEAR);
int nowMonth = now.get(Calendar.MONTH);
int startYear = start.get(Calendar.YEAR);
int startMonth = start.get(Calendar.MONTH);
int monthsElapsed = (nowYear - startYear) * 12 + (nowMonth - startMonth);
return monthsElapsed>PERIOD_IN_MONTHS;
}
在未来的问题中,请发布以及**什么**没有正确工作。这段代码发生了什么?应该发生什么呢?张贴在SSCCE(http://sscce.org)的味道都会非常有帮助。 – BalusC 2010-02-12 19:04:05
我看到你编辑了这个问题。这里的实际日期是什么?将'now.getTime()','start.getTime()'和'monthsElapsed'的'System.out.println()'添加到方法的结尾。 – BalusC 2010-02-12 20:18:48
@ZeroDivide:在你的评论中你说这是针对“CS任务”的。因此,请将问题标记为家庭作业。 – GreenMatt 2010-02-12 20:55:44