掌握Date类和Calendar类得常用方法。实验场地或用户输入两个日期,程序将判断两个日期的大小关系,以及两日期间隔的天数。
时间: 2024-02-03 19:11:18 浏览: 71
好的,以下是一个Java程序,通过输入两个日期,判断两个日期的大小关系,并计算两个日期之间的天数:
```java
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class DateComparison {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入第一个日期(格式:yyyy-MM-dd):");
String dateString1 = input.nextLine();
Date date1 = stringToDate(dateString1);
System.out.println("请输入第二个日期(格式:yyyy-MM-dd):");
String dateString2 = input.nextLine();
Date date2 = stringToDate(dateString2);
// 比较两个日期的大小
if(date1.before(date2)) {
System.out.println(dateString1 + " 在 " + dateString2 + " 之前。");
} else if(date1.after(date2)) {
System.out.println(dateString1 + " 在 " + dateString2 + " 之后。");
} else {
System.out.println(dateString1 + " 与 " + dateString2 + " 相同。");
}
// 计算两个日期之间的天数
Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
int daysBetween = 0;
while(calendar1.before(calendar2)) {
daysBetween++;
calendar1.add(Calendar.DAY_OF_MONTH, 1);
}
System.out.println("两个日期之间相隔 " + daysBetween + " 天。");
}
// 将字符串转换为日期
public static Date stringToDate(String dateString) {
Date date = null;
try {
date = new Date(new Long(dateString.replaceAll("-", "") + "000000"));
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
}
```
程序中使用了`Date`类和`Calendar`类来处理日期,其中`stringToDate()`方法将字符串转换为日期。在输入两个日期后,程序通过比较两个日期的大小,并计算两个日期之间的天数。需要注意的是,程序中假设输入日期的格式为`yyyy-MM-dd`,如果实际使用中输入的格式不一致,需要进行相应的修改。
阅读全文