Java解决日期之间隔几天
01 题目
-
请你编写一个程序来计算两个日期之间隔了多少天
-
日期以字符串形式给出,格式为
YYYY-MM-DD
,如示例所示。
示例 1:
输入:date1 = "2019-06-29", date2 = "2019-06-30"
输出:1
示例 2:
输入:date1 = "2020-01-15", date2 = "2019-12-31"
输出:15
提示:
- 给定的日期是
1971
年到2100
年之间的有效日期。
02 知识点
- math函数
- DateFormat 函数
03 我的题解思路
public class daysBetweenDates {public static void main(String[] args) {System.out.println(daysBetweenDates("2020-01-15", "2019-12-31"));}public static int daysBetweenDates(String date1, String date2) {int rs=0;//返回值DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//设置格式,要M,小m是分钟long num=0;//用于计算毫秒数try {Date start=sdf.parse(date1);//将字符串按格式转化成日期类,该方法必须捕获异常(用try catch)Date end=sdf.parse(date2);long startTime=start.getTime();//从日期类取出从1971年为止的毫秒数long endTime=end.getTime();if(endTime<startTime) {//冒泡排序,使endTime的值一定大于startTimenum=endTime;endTime=startTime;startTime=num;}num=endTime-startTime;//总毫秒数为正} catch (ParseException e) {e.printStackTrace();}rs=Math.toIntExact(num/1000/60/60/24);//将毫秒数转化为日期并用toIntExact把long转化为intreturn rs;}
}