编写一个java应用程序,判断两个日期的大小,以及两个日期之间的间隔天数。代码保存在ex5类包中的DateCompareTest.java中。
时间: 2024-03-05 19:54:26 浏览: 54
好的,以下是代码实现:
```java
package ex5;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class DateCompareTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.print("请输入第一个日期(yyyy-MM-dd):");
String date1Str = input.nextLine();
System.out.print("请输入第二个日期(yyyy-MM-dd):");
String date2Str = input.nextLine();
try {
Date date1 = sdf.parse(date1Str);
Date date2 = sdf.parse(date2Str);
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if (cal1.before(cal2)) {
System.out.println(date1Str + " 在 " + date2Str + " 之前");
} else if (cal1.after(cal2)) {
System.out.println(date1Str + " 在 " + date2Str + " 之后");
} else {
System.out.println(date1Str + " 与 " + date2Str + " 相等");
}
long intervalDays = (date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24);
System.out.println("两个日期之间相隔 " + Math.abs(intervalDays) + " 天");
} catch (ParseException e) {
e.printStackTrace();
}
input.close();
}
}
```
运行结果:
```
请输入第一个日期(yyyy-MM-dd):2022-01-01
请输入第二个日期(yyyy-MM-dd):2022-01-10
2022-01-01 在 2022-01-10 之前
两个日期之间相隔 9 天
```
注意:本程序中使用了 Scanner 类来获取用户输入,以及 SimpleDateFormat 类来将日期字符串转换成 Date 对象。同时,我们还使用了 Calendar 类来进行日期的比较。最后,我们通过计算两个日期之间的毫秒数,然后除以每天的毫秒数来计算它们之间相隔的天数。
阅读全文