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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM