使用Duration类编写一个java应用程序,判断两个日期的大小,以及两个日期之间的间隔天数。代码保存在ex5类包中的DateCompareTest.java中。
时间: 2024-03-05 11:54:28 浏览: 108
用javascript实现计算两个日期的间隔天数
好的,以下是使用 `Duration` 类实现的代码:
```java
package ex5;
import java.time.Duration;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class DateCompareTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.print("请输入第一个日期(yyyy-MM-dd):");
String date1Str = input.nextLine();
System.out.print("请输入第二个日期(yyyy-MM-dd):");
String date2Str = input.nextLine();
LocalDate date1 = LocalDate.parse(date1Str, formatter);
LocalDate date2 = LocalDate.parse(date2Str, formatter);
if (date1.isBefore(date2)) {
System.out.println(date1Str + " 在 " + date2Str + " 之前");
} else if (date1.isAfter(date2)) {
System.out.println(date1Str + " 在 " + date2Str + " 之后");
} else {
System.out.println(date1Str + " 与 " + date2Str + " 相等");
}
Duration duration = Duration.between(date1.atStartOfDay(), date2.atStartOfDay());
long intervalDays = duration.toDays();
System.out.println("两个日期之间相隔 " + Math.abs(intervalDays) + " 天");
input.close();
}
}
```
运行结果与之前的代码相同。需要注意的是,我们使用了 `java.time.LocalDate` 类来代替 `java.util.Date` 类,用 `DateTimeFormatter` 来解析日期字符串。而在计算两个日期之间间隔的天数时,我们使用了 `java.time.Duration` 类,它可以方便地计算两个日期之间的时间差。最后,我们通过 `toDays()` 方法将时间差转换成天数。
阅读全文