用Java, 从键盘输入任意两个日期,两个日期之间使用回车换行,输出这两个日期之间相差的天数,输入日期的格式为:年/月/日
时间: 2024-05-03 22:18:33 浏览: 120
可以使用 Java 内置的日期类 Date 和 SimpleDateFormat 来实现。
具体步骤如下:
1. 从键盘输入两个日期字符串,格式为 "yyyy/MM/dd"。
2. 使用 SimpleDateFormat 将日期字符串转换为 Date 对象。
3. 计算两个日期之间的毫秒数差值。
4. 将毫秒数转换为天数差值。
5. 输出天数差值。
下面是 Java 代码实现:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateDiff {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
// 读取第一个日期字符串
System.out.print("请输入第一个日期(格式为 yyyy/MM/dd):");
String dateString1 = scanner.nextLine();
// 读取第二个日期字符串
System.out.print("请输入第二个日期(格式为 yyyy/MM/dd):");
String dateString2 = scanner.nextLine();
// 将日期字符串转换为 Date 对象
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date1 = dateFormat.parse(dateString1);
Date date2 = dateFormat.parse(dateString2);
// 计算日期差值
long diffMillis = Math.abs(date1.getTime() - date2.getTime());
long diffDays = diffMillis / (24 * 60 * 60 * 1000);
// 输出日期差值
System.out.println("两个日期之间相差 " + diffDays + " 天。");
}
}
```
运行效果如下:
```
请输入第一个日期(格式为 yyyy/MM/dd):2021/01/01
请输入第二个日期(格式为 yyyy/MM/dd):2021/12/31
两个日期之间相差 364 天。
```
注意,上面的代码中使用了 `Math.abs()` 方法来确保日期差值为正整数。如果不使用 `Math.abs()`,则日期差值可能为负数。
阅读全文