Njia 4 za Kulinganisha Tarehe Mbili katika Java

Orodha ya maudhui:

Njia 4 za Kulinganisha Tarehe Mbili katika Java
Njia 4 za Kulinganisha Tarehe Mbili katika Java

Video: Njia 4 za Kulinganisha Tarehe Mbili katika Java

Video: Njia 4 za Kulinganisha Tarehe Mbili katika Java
Video: JINSI YA KUONDOA GARI INAPOKUA IMESIMAMA KWENYE MLIMA BILA YA KURUDI NYUMA NA KUSABABAISHA AJALI. 2024, Aprili
Anonim

Kuna njia anuwai za kulinganisha tarehe za Java. Ndani, tarehe inawakilishwa kama hatua (ndefu) kwa wakati - idadi ya millisecond ambazo zimepita tangu Januari 1 1970. Katika Java, Tarehe ni kitu, ambayo inamaanisha inajumuisha njia nyingi za kulinganisha. Njia yoyote ya kulinganisha tarehe mbili kimsingi italinganisha nyakati za tarehe.

Hatua

Njia 1 ya 4: Kutumia kulinganisha

4301351 1
4301351 1

Hatua ya 1. Tumia kulinganisha

Utekelezaji wa tarehe Unalinganishwa na kwa hivyo tarehe mbili zinaweza kulinganishwa moja kwa moja na njia ya kulinganisha. Ikiwa tarehe ni za nukta sawa kwa wakati, njia inarudi sifuri. Ikiwa tarehe inayolinganishwa iko kabla ya hoja ya tarehe, thamani chini ya sifuri inarejeshwa. Ikiwa tarehe inayolinganishwa ni baada ya hoja ya tarehe, thamani kubwa kuliko sifuri inarejeshwa. Ikiwa tarehe ni sawa, thamani ya 0 inarejeshwa.

4301351 2
4301351 2

Hatua ya 2. Unda vitu vya tarehe

Utahitaji kuunda kila kitu cha tarehe kabla ya kuanza kulinganisha. Njia moja ya kufanya hivyo ni kutumia darasa la SimpleDateFormat. Inaruhusu kuingia kwa urahisi kwa maadili ya tarehe katika vitu vya tarehe.

    RahisiDateFormat sdf = mpya SimpleDateFormat ("yyyy-MM-dd"); // Kwa kutangaza maadili katika vitu vipya vya tarehe. tumia fomati sawa ya tarehe wakati wa kuunda tarehe Tarehe ya tarehe1 = sdf.parse ("1995-02-23"); // tarehe1 ni Februari 23, 1995 Tarehe tarehe2 = sdf.parse ("2001-10-31"); // tarehe2 ni Oktoba 31, 2001 Tarehe33 = sdf.parse ("1995-02-23"); // tarehe3 ni Februari 23, 1995

4301351 3
4301351 3

Hatua ya 3. Linganisha vitu vya tarehe

Nambari iliyo hapa chini itakuonyesha kila kesi - chini ya, sawa, na kubwa kuliko.

    tarehe1 kulinganishaTo (tarehe2); // tarehe1 <date2, inarudi chini ya 0 date2.compareTo (date1); // date2> date1, inarudi zaidi ya 0 date1.compareTo (date3); // date1 = date3, kwa hivyo tutachapisha 0 kutuliza

Njia 2 ya 4: Kutumia Sawa, Baada, na Kabla

4301351 4
4301351 4

Hatua ya 1. Tumia sawa, baada na kabla

Tarehe zinaweza kulinganishwa na sawa, baada na kabla ya njia. Ikiwa tarehe mbili ni za nukta moja kwa wakati, njia sawa itarudi kweli. Mifano zitatumia tarehe zilizoundwa hapo awali kutoka kwa njia ya kulinganisha.

4301351 5
4301351 5

Hatua ya 2. Linganisha kutumia njia ya awali

Nambari hapa chini inaonyesha kesi ya kweli na ya uwongo. Ikiwa tarehe1 iko kabla ya tarehe2, kabla ya kurudi kweli. Ikiwa sivyo, kabla ya kurudi uwongo.

    Rangi ya Mfumo. (Tarehe1 kabla ya (tarehe2)); // prints kweli System.out.print (tarehe2.mbele ya (tarehe2)); // magazeti ya uwongo

4301351 6
4301351 6

Hatua ya 3. Linganisha kutumia njia inayofuata

Nambari hapa chini inaonyesha kesi ya kweli na ya uwongo. Ikiwa tarehe2 ni baada ya tarehe1, baada ya kurudi kweli. Ikiwa sivyo, baada ya kurudi uwongo.

    System.out.print (date2.after (date1)); // prints true System.out.print (date1.after (date2)); // prints false

4301351 7
4301351 7

Hatua ya 4. Linganisha kutumia njia sawa

Nambari hapa chini inaonyesha kesi ya kweli na ya uwongo. Ikiwa tarehe ni sawa, sawa inarudi kweli. Ikiwa sio, sawa inarudi uwongo.

    System.out.print (tarehe1.equals (date3)); // prints kweli System.out.print (tarehe1.equals (date2));

Njia 3 ya 4: Kutumia Darasa la Kalenda

4301351 8
4301351 8

Hatua ya 1. Tumia kalenda

Darasa la kalenda pia lina kulinganishaKwa, sawa, baada na kabla ya njia zinazofanya kazi kwa njia ile ile kama ilivyoelezwa hapo juu kwa darasa la tarehe. Kwa hivyo ikiwa habari ya tarehe inashikiliwa kwenye kalenda, hakuna haja ya kutoa tarehe ili tu kulinganisha.

4301351 9
4301351 9

Hatua ya 2. Unda matukio ya Kalenda

Kutumia njia za Kalenda, utahitaji visa kadhaa vya Kalenda. Kwa bahati nzuri, unaweza tu kunyakua nyakati kutoka kwa visa vya Tarehe zilizoundwa tayari.

    Kalenda cal1 = Kalenda.getInstance (); // inatangaza kalenda ya cal1 cal1 = Kalenda.getInstance (); // inatangaza kalenda ya cal2 cal3 = Kalenda.getInstance (); // inatangaza cal3 cal1. TimeTime (tarehe1); // inatumika tarehe ya cal1 cal2.setTime (tarehe2); Cal3.setTime (tarehe3);

4301351 10
4301351 10

Hatua ya 3. Linganisha cal1 na cal2 ukitumia hapo awali

Nambari hapa chini inapaswa kuchapisha kweli kwani cal1 iko kabla ya cal2.

    Printa ya Mfumo (cal1 kabla ya (cal2)); // itachapisha kweli

4301351 11
4301351 11

Hatua ya 4. Linganisha cal1 na cal2 ukitumia baada

Nambari iliyo hapa chini inapaswa kuchapisha uwongo kwani cal1 iko kabla ya cal2.

    Rangi ya Mfumo. (Cal1.baad (cal2)); // magazeti ya uwongo

4301351 12
4301351 12

Hatua ya 5. Linganisha cal1 na cal2 ukitumia sawa

Nambari iliyo hapa chini itaonyesha mfano wa kesi ya kweli na ya uwongo. Hali hiyo inategemea matukio ya kalenda yanayolinganishwa. Nambari inapaswa kuchapisha "kweli," kisha "uwongo" kwenye laini inayofuata.

    Mfumo.out.println (cal1.equals (cal3)); // prints kweli: cal1 == cal3 System.out.print (cal1.equals (cal2)); // prints uongo: cal1! = cal2

Njia 4 ya 4: Kutumia GetTime

4301351 13
4301351 13

Hatua ya 1. Tumia wakati

Inawezekana pia kulinganisha moja kwa moja wakati wa tarehe mbili, ingawa njia yoyote ya hapo awali inaweza kusomeka zaidi na inapendeza zaidi. Hii itakuwa kulinganisha aina mbili za data za zamani, kwa hivyo inaweza kufanywa na "", na "==".

4301351 14
4301351 14

Hatua ya 2. Unda vitu vya muda mrefu

Kabla ya kulinganisha tarehe, lazima uunda nambari ndefu na data kutoka kwa vitu vya Tarehe vilivyoundwa hapo awali. Kwa bahati nzuri, njia ya GetTime () itakufanyia kazi nyingi.

    muda mrefu1 = muda wa kupata (tarehe1); // inatangaza wakati wa zamani1 kutoka tarehe1 muda mrefu2 = wakati wa kupata (tarehe2); // inatangaza wakati wa zamani2 kuanzia tarehe2

4301351 15
4301351 15

Hatua ya 3. Fanya chini ya kulinganisha

Tumia chini ya alama (<) kulinganisha maadili haya mawili kamili. Kwa kuwa saa1 ni chini ya wakati wa 2, ujumbe wa kwanza unapaswa kuchapisha. Taarifa nyingine imejumuishwa kwa syntax sahihi.

    ikiwa (time1 <time2) {System.out.println ("date1 ni kabla ya tarehe2"); // itachapisha tangu time1 <time2} mwingine {System.out.println ("date1 sio kabla ya tarehe2"); }

4301351 16
4301351 16

Hatua ya 4. Fanya kubwa kuliko kulinganisha

Tumia kubwa kuliko alama (>) kulinganisha nambari hizi mbili kamili. Kwa kuwa saa1 ni kubwa kuliko wakati wa 2, ujumbe wa kwanza unapaswa kuchapisha. Taarifa nyingine imejumuishwa kwa syntax sahihi.

    ikiwa (time2> time1) {System.out.println ("date2 ni baada ya tarehe1"); // itachapisha tangu time2> time1} mwingine {System.out.println ("date2 sio baada ya tarehe1"); }

4301351 17
4301351 17

Hatua ya 5. Fanya kulinganisha sawa

Tumia ishara kuangalia usawa (==) kulinganisha nambari hizi mbili kamili za usawa. Kwa kuwa time1 ni sawa na time3, ujumbe wa kwanza unapaswa kuchapisha. Ikiwa mpango utapata taarifa nyingine, hiyo inamaanisha nyakati hazilingani.

    ikiwa (time1 == time2) {System.out.println ("tarehe ni sawa"); } mwingine {System.out.println ("tarehe hazilingani"); // itachapishwa tangu saa1! = saa2}

Ilipendekeza: