怎么从日期中减去天数
来源:爱站网时间:2021-12-03编辑:网友分享
怎么从日期中减去天数?爱站技术小编已经编写了一个代码,该代码可以从日期中添加和减去天,但是它不能有效地工作。我很难把日期的加减也算作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类是更好的选择
以上内容就是爱站技术频道小编为大家分享的怎么从日期中减去天数,看完以上分享之后,大家应该都知道怎么从日期中减去天数了吧。