Problem Description
1.实验目的
掌握SimpleDateFormat、Date日期类用法
2.实验内容
编写程序,输入一个日期字符串,拆分成两个日期,然后比较两个日期大小,并给出两个日期相差天数
3.实验要求
请将下列代码补充完整
import java.util.*;
import java.text.SimpleDateFormat;
public class Main{
public static void main(String [] args){
Date date1,date2;
String[] time;
Scanner cin=new Scanner(System.in);
time = cin.next().split(",");
// 你的代码
Input Description
输入一个日期字符串(含两个日期),例如:2018-09-01,2019-08-01
Output Description
输出有三种情况:
1.第一个日期比第二个日期小,显示如下:
less than
334 days apart!
2.第一个日期比第二个日期大,显示如下:
greater than
220 days apart!
3.两个日期相等
equal
0 days apart!
//这里一定要抛出异常,不然没法用parse
//按照题目前面给的代码只能这样抛,用idea提示的方法不行
try {
SimpleDateFormat t1 = new SimpleDateFormat("yyyy-MM-dd");//定制格式
date1 = t1.parse(time[0]);//将字符串转为date类
date2 = t1.parse(time[1]);
int compareTo = date1.compareTo(date2);
//compareto比较日期大小,相同返回0,大于返回1,小于返回-1
long a = date1.getTime();
long b = date2.getTime();
//gettime获取毫秒数
// System.out.println(a-b);
long d = (b - a) / (24L * 60L * 60L * 1000);
long c = (a - b) / (24L * 60L * 60L * 1000);//通过毫秒数算天数
// System.out.println(c);
if (compareTo == 0) {
System.out.println("equal");
System.out.println("0 days apart! ");
} else if (compareTo == -1) {
System.out.println("less than");
System.out.println(d + " days apart!");
} else {
System.out.println("greater than");
System.out.println(c + " days apart!");
}
}catch(Exception e){
e.printStackTrace();
}
}
}