用java写一个类实现计算一个日期后n天的日期,不使用Date类和Calendar类
时间: 2023-05-11 09:03:15 浏览: 110
好的,以下是一个用 Java 编写的类,可以计算一个日期后 n 天的日期,不使用 Date 类和 Calendar 类:
```
public class DateCalculator {
public static String calculateDate(String date, int n) {
int year = Integer.parseInt(date.substring(0, 4));
int month = Integer.parseInt(date.substring(4, 6));
int day = Integer.parseInt(date.substring(6, 8));
for (int i = 0; i < n; i++) {
day++;
if (day > getDaysOfMonth(year, month)) {
day = 1;
month++;
if (month > 12) {
month = 1;
year++;
}
}
}
return String.format("%04d%02d%02d", year, month, day);
}
private static int getDaysOfMonth(int year, int month) {
switch (month) {
case 2:
return isLeapYear(year) ? 29 : 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 31;
}
}
private static boolean isLeapYear(int year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}
}
```
你可以调用 `calculateDate` 方法,传入一个日期和一个整数 n,它会返回这个日期后 n 天的日期。例如:
```
String date = "20220101";
int n = 10;
String result = DateCalculator.calculateDate(date, n);
System.out.println(result); // 输出 20220111
```
希望这个类能够帮助到你!
阅读全文