計算兩個日期相差天數,不允許使用java高階類

2021-09-23 02:47:07 字數 1462 閱讀 4061

給定日期a"2019-04-21"和日期b"2018-12-21",計算兩個日期之間相差多少天?不允許使用高階封裝日期等。

先處理字串,變成輸入的年月日

再計算日期差

計算日期差思路:計算當前日期a是相對於公元0年的總第多少天,再計算日期b的總第多少天,做差即可。

計算總第多少天思路:

1. 2023年之前總共有多少天:(2019-1)*365+閏年個數

2. 4月前 總共有多少天:平年4月前多少天 or 閏年4月前多少天

3. 總第天數 = 前兩項+日期數 。

/*

* date : 2019.

* author : mereder

*/public class thedatediff

}public static final int daysofmon = ;

public static int beforemon_com = new int[13];

public static int beforemon_leap = new int[13];

public static int total(mydate mydate)

// 這一年之前一共多少天

public static int beforeyear(mydate date)

public static int beforemon(mydate mydate)

else return beforemon_com[mydate.mon];

}public static boolean isleapyear(mydate mydate)

public static void main(string args)

else beforemon_leap[i] = n;

n += daysofmon[i];

}int year1 = integer.parseint(date1.split("-")[0]);

int mon1 = integer.parseint(date1.split("-")[1]);

int day1 = integer.parseint(date1.split("-")[2]);

mydate first = new mydate(year1,mon1,day1);

int year2 = integer.parseint(date2.split("-")[0]);

int mon2 = integer.parseint(date2.split("-")[1]);

int day2 = integer.parseint(date2.split("-")[2]);

mydate second = new mydate(year2,mon2,day2);

system.out.printf("相差 %d 天",(total(first)-total(second)));

}}

jq計算兩個日期相差的天數

計算兩個日期相差的天數 addtime 2020年7月30日 21 16 37 sdate1 開始日期 yyyy mm dd格式 sdate2 結束日期 yyyy mm dd格式 function datediff sdate1,sdate2 呼叫 let and datediff stime,et...

2 2 兩個日期相差天數

現在有兩個不同的日期,你能告訴我它們之間差幾天嗎?輸入格式 有多行資料,每行資料報含6個數字,中間用空格分隔,每3個數字代表乙個日期。輸出格式 對應於輸入資料,輸出資料有相同的行數,每行表示對應的兩個日期相差的天數。輸入樣例 1934 2 4 2047 11 30 2192 10 3 1921 5 ...

如何計算兩個日期之間相差的天數?

見msdn 確定兩個日期之間的間隔 visual c 本示例計算兩個日期之間相差的天數並為該差額構造乙個 timespan 值。示例 datetime olddate new datetime 2002,7,15 datetime newdate datetime.now difference in...