Java编写一个程序计算两个日期相差的天数输入两个日期,每个日期分占一行,在一行中日期的年月日是三个整数,以空格分隔,并假设第二个日期大于或等于第一个日期
时间: 2024-10-12 09:15:33 浏览: 34
利用Java中Calendar计算两个日期之间的天数和周数
5星 · 资源好评率100%
在Java中,你可以通过Scanner类从用户那里接收输入的日期,然后使用`java.time.LocalDate`类来计算这两个日期之间的天数差。这里是一个基本的示例程序:
```java
import java.util.Scanner;
import java.time.LocalDate;
public class DateDiffCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个日期 (格式:YYYY-MM-DD):");
String date1Input = scanner.nextLine();
int year1 = Integer.parseInt(date1Input.substring(0, 4));
int month1 = Integer.parseInt(date1Input.substring(5, 7));
int day1 = Integer.parseInt(date1Input.substring(8));
System.out.println("请输入第二个日期 (格式:YYYY-MM-DD):");
String date2Input = scanner.nextLine();
int year2 = Integer.parseInt(date2Input.substring(0, 4));
int month2 = Integer.parseInt(date2Input.substring(5, 7));
int day2 = Integer.parseInt(date2Input.substring(8));
LocalDate date1 = LocalDate.of(year1, month1, day1);
LocalDate date2 = LocalDate.of(year2, month2, day2);
// 确保date2大于或等于date1
if (date2.isBefore(date1)) {
LocalDate temp = date2;
date2 = date1;
date1 = temp;
}
Period period = Period.between(date1, date2);
int daysDifference = period.getDays();
System.out.println("两个日期相差 " + daysDifference + " 天.");
}
}
```
这个程序首先从用户那里获取输入的日期字符串,然后解析成`LocalDate`对象。如果第二个日期小于第一个日期,它会交换它们的位置,确保`date2`始终大于或等于`date1`。然后,它计算并打印出两个日期之间的天数差。
阅读全文