java计算两个日期之间的相隔天数

【原创】

之前在很多竞赛的题目中有这样饿一类题,计算给定两个日期之间的相隔天数,或者很多类似的题目,都是需要转化到这个问题上时,之前用c++写的时候思想是这样的,一个结构体,包括年月日,还有一个计算下一天的函数,建立一个整形数组int buf[5001][13][32];看上去很吓人吧,没错就是将5000年全部存下来,存什么呢,比如说让0000-1-1为第一天,那么buf[0000][1][1] = 1;buf[0000][1][2]=2;这样一开始初始化后,便将起全部存储下来,计算两个日期差直接两个数组元素相减便得到结果;

但是用java可以直接利用内库中的很多封装类来做嘛,这才能体现java的强大嘛

说多了无聊,直接来代码;

 1 package com.jiajia.filedemo;
 2 
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 
 8 public class Demo3 {
 9     
10     
11     private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
12     
13     public static void main(String []args) throws Exception{
14         String first = "1995-9-2";
15         String second = "2017-3-22";
16         Date firstdate = format.parse(first);
17         Date seconddate = format.parse(second);
18         int cnt = longOfTwoDate(firstdate, seconddate);
19         System.out.println(cnt);
20     }
21     
22     public static int  longOfTwoDate(Date first,Date second) throws ParseException{
23                 Calendar calendar = Calendar.getInstance();
24                 calendar.setTime(first);
25                 int cnt = 0;
26                 while(calendar.getTime().compareTo(second)!=0){
27                     calendar.add(Calendar.DATE, 1);
28                     cnt++;
29                 }
30                 return cnt;
31     }
32 }

没有写注释,代码很简单啊,主要是

longOfTwoDate函数搞懂就好了,利用到了Calender这个类;有一个自加功能;所以so easy


---
### 最后
- 本文内容个人拙见,若有出入,欢迎指正。
- 欢迎赏脸关注:家佳Talk

![欢迎赏脸关注:家佳Talk](https://i.loli.net/2020/02/03/Ps3BCMf4Qrw8jVi.jpg)

原文地址:https://www.cnblogs.com/numen-fan/p/6600530.html