java 输入一个日期,写代码计算从这天到下一年,以及这天到上一年相隔天数
时间: 2024-10-13 22:04:40 浏览: 27
在Java中,你可以使用`java.time`包下的`LocalDate`和`YearMonthDay`类来处理日期相关的操作。首先,我们需要获取当前日期并计算与指定日期的差值,然后计算与下一年、上一年的天数。以下是一个示例代码:
```java
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.temporal.ChronoUnit;
public class DateCalculator {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 用户输入的日期
String inputDateStr = "2023-01"; // 更改为你需要的日期,格式为"yyyy-MM-dd"
LocalDate inputDate = LocalDate.parse(inputDateStr);
// 计算与给定日期相差的天数
long daysFromGivenDate = ChronoUnit.DAYS.between(inputDate, currentDate);
System.out.println("从" + inputDateStr + "到今天相差了 " + daysFromGivenDate + " 天");
// 计算与今年的前一年、后一年的天数
YearMonth thisYear = YearMonth.of(currentDate.getYear(), currentDate.getMonth());
YearMonth prevYear = thisYear.minusYears(1);
YearMonth nextYear = thisYear.plusYears(1);
int daysToPrevYear = LocalDate.of(prevYear.getYear(), prevYear.getMonth()).until(currentDate, ChronoUnit.DAYS);
int daysToNextYear = LocalDate.of(nextYear.getYear(), nextYear.getMonth()).until(currentDate.plusDays(1), ChronoUnit.DAYS); // 加一天是因为我们要包含下一年的第一天
System.out.println("从" + inputDateStr + "到去年相差了 " + daysToPrevYear + " 天");
System.out.println("从" + inputDateStr + "到明年相差了 " + daysToNextYear + " 天");
}
}
```
阅读全文