import java.util.*;
public class DateDiff{
public static void main(String args[]){
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
System.out.println("请输入第一个日期。");
Scanner scanner = new Scanner(System.in);
int year,month,day;
System.out.println("请输入年份:");
year = scanner.nextInt();
System.out.println("请输入月份:");
month = scanner.nextInt();
System.out.println("请输入日:");
day = scanner.nextInt();
System.out.println("您输入的第一个日期是:"+year+"-"+month+"-"+day);
System.out.println("");
calendar.set(year,month-1,day);
long time1 = calendar.getTimeInMillis();
System.out.println("请输入第二个日期。");
int year02,month02,day02;
System.out.println("请输入年份:");
year02 = scanner.nextInt();
System.out.println("请输入月份:");
month02 = scanner.nextInt();
System.out.println("请输入日:");
day02 = scanner.nextInt();
System.out.println("您输入的第二个日期是:"+year02+"-"+month02+"-"+day02);
calendar.set(year02,month02-1,day02);
long time2 = calendar.getTimeInMillis();
long subDay = (time1 - time2)/(1000*60*60*24);
System.out.println("");
System.out.println("两个日期相差"+subDay+"天。");
}
}
测试结果:
请输入第一个日期。
请输入年份:
2021
请输入月份:
6
请输入日:
3
您输入的第一个日期是:2021-6-3
请输入第二个日期。
请输入年份:
2021
请输入月份:
6
请输入日:
1
您输入的第二个日期是:2021-6-1
两个日期相差2天。
根据课本上的例子稍微改编,calendar.set(),calendar.getTimeInMillis()等才是核心内容。自己写的看着反而有点繁琐,输入格式,如果直接输入xx-xx-xx的格式就好了,涉及到了分隔符的问题。小编最近要考试,暂时没时间深入研究。如果你有兴趣的话,可以改改哦。
该博客展示了如何使用Java的Calendar类计算两个日期之间的天数差异。用户通过输入年、月、日来指定日期,程序将这两个日期转换为毫秒并计算差值,最后输出相差的天数。博客简要讨论了日期处理的基本操作,并提到可能的改进方法,如简化用户输入格式。
1260

被折叠的 条评论
为什么被折叠?



