怎么操作从日期中减去天数

来源:爱站网时间:2021-12-04编辑:网友分享
爱站技术小编不知道怎么从日期中减去天数,已经编写了一个代码,该代码可以从日期中添加和减去天,但是它不能有效地工作。我很难把日期的加减也算作leap年。正在为难之际,有个朋友给了我一个答案,现在发出来供大家参考一下。

问题描述


我已经编写了一个代码,该代码可以从日期中添加和减去天,但是它不能有效地工作。我很难把日期的加减也算作leap年。如何使加减法有效?

添加:

public void additionOfDays(int days) {
    year += days / 365;
    days %= 365;
    month += days / 30;
    days %= 30;
    day += days;
    if (isLeapYear() && month == 2 && day > 28) {
        day -= 28;
        month++;
    } else if (ODD_MONTHS.contains(month) && day > 31) {
        day -= 31;
        month++;
    } else if (day > 30) {
        day -= 30;
        month++;
    }
}

减法:

public void subtractionOfDays(int days) {
        year -= days / 365;
        days %= 365;
        month -= days / 30;
        days %= 30;
        day -= days;
        if (isLeapYear() && month == 2 && day > 28) {
            day = 28;
            month--;
        } else if (ODD_MONTHS.contains(month) && day > 31) {
            day += 31;
            month--;
        } else if (day > 30) {
            day += 30;
            month--;
        }

月份名称和奇数月:

public String[] MONTH_NAMES = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
    public List ODD_MONTHS = Arrays.asList(1, 3, 5, 7, 8, 10, 12); 

思路:


编辑:

LocalDate类是更好的选择

以上内容就是爱站技术频道小编为大家分享的怎么操作从日期中减去天数,看完以上分享之后,大家应该都知道怎么操作了吧。

上一篇:怎么操作AVRO Java生成器-以int形式生成的日期

下一篇:如何解决:javax.imageio.IIOException:伪输入色彩空间

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载