掌握Date类和Calen用户输入两个日期,程序将判断两个日期的大小关系,以及两日期间隔的天数。
时间: 2024-02-01 16:16:26 浏览: 69
下面是一个Java程序,使用Date类和Calendar类实现输入两个日期,判断大小关系和间隔天数的功能:
```java
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
System.out.print("请输入第一个日期(yyyy-MM-dd):");
String dateStr1 = scanner.nextLine();
Date date1 = dateFormat.parse(dateStr1);
System.out.print("请输入第二个日期(yyyy-MM-dd):");
String dateStr2 = scanner.nextLine();
Date date2 = dateFormat.parse(dateStr2);
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if (cal1.before(cal2)) {
System.out.println(dateStr1 + " 在 " + dateStr2 + " 之前");
} else if (cal1.after(cal2)) {
System.out.println(dateStr1 + " 在 " + dateStr2 + " 之后");
} else {
System.out.println(dateStr1 + " 和 " + dateStr2 + " 相同");
}
long diff = Math.abs(date2.getTime() - date1.getTime());
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.println("两日期间隔 " + diffDays + " 天");
} catch (ParseException e) {
System.out.println("日期格式错误,请输入 yyyy-MM-dd 格式的日期");
}
}
}
```
运行程序后,会提示用户输入两个日期,格式为 yyyy-MM-dd。程序将使用DateFormat类将输入的字符串转换为Date对象,并使用Calendar类进行日期比较和计算间隔天数。最后输出判断结果和间隔天数。
示例输出:
```
请输入第一个日期(yyyy-MM-dd):2021-01-01
请输入第二个日期(yyyy-MM-dd):2021-01-10
2021-01-01 在 2021-01-10 之前
两日期间隔 9 天
```
阅读全文