計(jì)算兩個(gè)日期相差天數(shù)祥得,不允許使用java高級(jí)類

問題描述

給定日期a"2019-04-21"和日期b"2018-12-21",計(jì)算兩個(gè)日期之間相差多少天橄碾?不允許使用高級(jí)封裝日期等卵沉。

解題思路

先處理字符串,變成輸入的年月日
再計(jì)算日期差
計(jì)算日期差思路:計(jì)算當(dāng)前日期a是相對(duì)于公元0年的總第多少天法牲,再計(jì)算日期b的總第多少天史汗,做差即可。
計(jì)算總第多少天思路:
1. 2019年之前總共有多少天:(2019-1)*365+閏年個(gè)數(shù)
2. 4月前 總共有多少天:平年4月前多少天 or 閏年4月前多少天
3. 總第天數(shù) = 前兩項(xiàng)+日期數(shù) 拒垃。

題解

/*
 * Date :  2019.
 * Author : Mereder
 */

public class theDateDiff {
    public static class Mydate{
        public int year;
        public int mon;
        public int day;

        public Mydate(int year, int mon, int day) {
            this.year = year;
            this.mon = mon;
            this.day = day;
        }
    }
    public static  final int daysOfMon[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    public static int beforeMon_com[] = new int[13];
    public static int beforeMon_leap[] = new int[13];

    public static int total(Mydate mydate){
        int total  = beforeYear(mydate) + beforeMon(mydate) + mydate.day;
        return total;
    }
    // 這一年之前一共多少天
    public static int beforeYear(Mydate date){
        int year = date.year;
        // 被四整除的年份  減去 被100 整除的 (其中也減去了 被400 整除的  再加回來)
        int total = (year-1)*365 + (year-1) / 4 - (year-1) / 100 + (year-1) / 400;
        return  total;
    }
    public static int beforeMon(Mydate mydate){
        if (isLeapYear(mydate)){
            return beforeMon_leap[mydate.mon];
        }
        else return beforeMon_com[mydate.mon];
    }
    public static boolean isLeapYear(Mydate mydate){
        int year = mydate.year;
        if ((year%4 == 0 && year%100 != 0) || (year%400 == 0)) return true;
        else return false;
    }
    public static void main(String[] args) {
        // 總體思路: 以2019年4月24日為例
        // 2019年之前總共有多少天:(2019-1)*365+閏年個(gè)數(shù)
        // 4月前 總共有多少天:平年4月前多少天 or 閏年四月前多少天
        // 前兩項(xiàng)+24日 = 總共天數(shù)停撞。
        // 輸入轉(zhuǎn)換
        String date1 = "2019-04-24";
        String date2 = "2019-04-22";
        int n = 0;
        // 初始化 月前總天數(shù)數(shù)組  含義:2月1日前總共多少天......12月1日前總共多少天
        for (int i = 1; i < 13; i++) {
            beforeMon_com[i] = n;
            if (i > 2){
                beforeMon_leap[i] = n +1;
            }
            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)));
    }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恶复,隨后出現(xiàn)的幾起案子怜森,更是在濱河造成了極大的恐慌速挑,老刑警劉巖谤牡,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姥宝,居然都是意外死亡翅萤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門腊满,熙熙樓的掌柜王于貴愁眉苦臉地迎上來套么,“玉大人,你說我怎么就攤上這事碳蛋∨呙冢” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵肃弟,是天一觀的道長(zhǎng)玷室。 經(jīng)常有香客問我,道長(zhǎng)笤受,這世上最難降的妖魔是什么穷缤? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮箩兽,結(jié)果婚禮上津肛,老公的妹妹穿的比我還像新娘。我一直安慰自己汗贫,他們只是感情好身坐,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布秸脱。 她就那樣靜靜地躺著,像睡著了一般掀亥。 火紅的嫁衣襯著肌膚如雪撞反。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天搪花,我揣著相機(jī)與錄音遏片,去河邊找鬼。 笑死撮竿,一個(gè)胖子當(dāng)著我的面吹牛吮便,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播幢踏,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼髓需,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了房蝉?” 一聲冷哼從身側(cè)響起僚匆,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搭幻,沒想到半個(gè)月后咧擂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡檀蹋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年松申,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俯逾。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贸桶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出桌肴,到底是詐尸還是另有隱情皇筛,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布坠七,位于F島的核電站水醋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灼捂。R本人自食惡果不足惜离例,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悉稠。 院中可真熱鬧宫蛆,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叛拷,卻和暖如春舌厨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忿薇。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國打工裙椭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人署浩。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓揉燃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親筋栋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子炊汤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 如果不注意,大概很多人認(rèn)為“閏月”與“閏年”是一個(gè)意思弊攘,其實(shí)不是抢腐,雖說只是一字之差,所包含的意思卻相差很遠(yuǎn)襟交。 “閏...
    雨落未驚風(fēng)閱讀 8,298評(píng)論 1 2
  • 私立大學(xué)雖然是以營利為目的迈倍,但是教育還得做。 最近幾天日本大學(xué)婿着,以及東京醫(yī)科大學(xué)頻頻爆出不正丑聞授瘦,在日本各...
    日本事情閱讀 4,899評(píng)論 0 0
  • 親愛的小葡萄小檸檬寶貝醋界,你們好竟宋,今天開始媽媽要在簡(jiǎn)書上給你們寫信,寫寫你們的趣事形纺,寫寫媽媽的感悟,寫寫媽媽想對(duì)你們...
    青梅青閱讀 434評(píng)論 0 0
  • 我所在的一座小城逐样,環(huán)境優(yōu)美蜗字,空氣宜人,但經(jīng)濟(jì)發(fā)展水平滯后脂新,人們的生活很安逸挪捕,老年人居多,大多數(shù)年輕人在這里看不到發(fā)...
    米咔閱讀 286評(píng)論 0 0