编写一个java应用程序,判断两个日期的大小,以及两个日期之间的间隔天数。代码保存在ex5类包中的DateCompareTest.java中。
时间: 2024-03-05 10:53:28 浏览: 90
比较两个日期的大小和间隔天数
好的,以下是你需要的Java代码,可以保存为`DateCompareTest.java`并运行:
```java
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 scanner = new Scanner(System.in);
System.out.print("请输入第一个日期(格式:yyyy-MM-dd): ");
String dateStr1 = scanner.nextLine();
System.out.print("请输入第二个日期(格式:yyyy-MM-dd): ");
String dateStr2 = scanner.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);
// 计算两个日期之间的间隔天数
long intervalDays = Math.abs(date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000);
if (date1.before(date2)) {
System.out.println(dateStr1 + " < " + dateStr2);
} else if (date1.after(date2)) {
System.out.println(dateStr1 + " > " + dateStr2);
} else {
System.out.println(dateStr1 + " = " + dateStr2);
}
System.out.println(dateStr1 + " 和 " + dateStr2 + " 之间的间隔天数为 " + intervalDays + " 天");
} catch (Exception e) {
System.out.println("日期格式错误!");
}
}
}
```
代码中,我们先从命令行输入两个日期,然后使用`SimpleDateFormat`将字符串类型的日期转换为`Date`类型。接着,我们使用`before`、`after`和`equals`方法比较两个日期的大小,同时计算它们之间的间隔天数。
需要注意的是,我们通过`getTime`方法获取的是日期的时间戳(以毫秒为单位),因此需要将时间戳除以一天的毫秒数(24 * 60 * 60 * 1000)才能得到间隔天数。
希望以上代码可以帮助到你,如果还有什么问题,请随时问我。
阅读全文