使用日历对象计算java中年和周的年龄

时间:2016-10-27 20:22:47

标签: java calendar

我计算年龄和周数,如果当前年份和dob年度相同,应该在几周内回答,但我的代码不能正常工作,只有当我输入两年不同时

if (dob.get(Calendar.YEAR) != now.get(Calendar.YEAR))
{
    if (dob.get(Calendar.MONTH) > now.get(Calendar.MONTH))
    {
        age--;
    }
    else if (dob.get(Calendar.MONTH) == now.get(Calendar.MONTH))
    {
        if (dob.get(Calendar.DAY_OF_MONTH) > now.get(Calendar.DAY_OF_MONTH))
        {
            age--;
        }
        System.out.println(name + "is " + age + " years old");
    }
}
else if (dob.get(Calendar.MONTH) < now.get(Calendar.MONTH))
{
    age++;
}
else if (dob.get(Calendar.MONTH) == now.get(Calendar.MONTH))
{
    if (dob.get(Calendar.DAY_OF_MONTH) > now.get(Calendar.DAY_OF_MONTH))
    {
        age++;
        System.out.println(name + "is " + age + " weeks old");
    }
}

1 个答案:

答案 0 :(得分:0)

else声明中,您只会在以下情况下打印:

  • “now”月与“dob”月相同
  • 该月的“dob”日大于该月的“现在”日。

正如@khelwood建议的那样,添加大括号{}可以帮助您清楚地看到这一点。