使用while循环将日期添加到日期中

问题描述 投票:0回答:1

我正在编写一个程序,将日期添加到当前日期和已经给定的日期。我正在努力使我的代码正确添加几天。我think我正确地执行了while循环几天,但是我还需要进行几个月的while循环。我将如何编写几个月的while循环?我看到的方式是,我需要连续增加一个月并减去适当的天数,直到剩下不到30(或31或29)天,而不能简单地增加一个月。那正确吗?到目前为止我的代码正确吗?

这是我的代码,到目前为止,在日期中增加了几天:

public void additionofDates(int days) {
    while (days > 365) {
        if (isLeapYear()) {
            days -= 1;
        }
        days -= 365;
        year += 1;
        if (isLeapYear() && month == 2 && day > 28) {
            day -= 29;
            month++;
        } else if (ODD_MONTHS.contains(month) && day > 30) {
            day -= 31;
            month++;
        } else if (day > 29) {
            day -= 30;
            month++;
        }
    }
}
java
1个回答
0
投票

尝试使用Java 8次。如果不可能,请使用Joda Time。

两者都可以添加日期,例如:

DateTime dateTime = new DateTime(date);
dateTime = dateTime.plusDays(1);

您不应该从头开始写。只需使用上面的一种。

© www.soinside.com 2019 - 2024. All rights reserved.