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: How to Pray - ( Jinsi ya Kuswali ) with Subtitles 2024, Novemba
Anonim

Kuna njia nyingi za kulinganisha tarehe mbili katika lugha ya programu ya Java. Katika kompyuta, tarehe inawakilishwa na nambari (aina ya data ndefu) katika vitengo vya wakati - ambayo ni, idadi ya millisecond ambazo zimepita tangu Januari 1, 1970. Katika Java, Tarehe ni kitu, ambayo inamaanisha ina njia kadhaa za kufanya kulinganisha. Njia yoyote inayotumika kulinganisha tarehe mbili kimsingi inalinganisha vitengo vya wakati wa tarehe hizo mbili.

Hatua

Njia 1 ya 4: Kutumia kulinganisha

4301351 1
4301351 1

Hatua ya 1. Tumia kulinganisha

Kitu cha Tarehe kinatekelezeka kulinganishwa kwa hivyo tarehe 2 zinaweza kulinganishwa na moja kwa moja na njia ya kulinganisha. Ikiwa tarehe zote mbili zina nambari sawa katika vitengo vya wakati, basi njia inarudi sifuri. Ikiwa tarehe ya pili ni chini ya ile ya kwanza, thamani chini ya sifuri inarejeshwa. Ikiwa tarehe ya pili ni kubwa kuliko ile ya kwanza, njia hiyo inarudisha thamani kubwa kuliko sifuri. Ikiwa tarehe zote mbili ni sawa, basi njia hiyo itarudisha null null.

4301351 2
4301351 2

Hatua ya 2. Unda vitu vingi vya Tarehe

Lazima uunde vitu vingi vya Tarehe kabla ya kuzilinganisha. Njia moja rahisi ya kufanya hivyo ni kutumia darasa la SimpleDateFormat. Darasa hili hufanya iwe rahisi kubadilisha tarehe ya kuingiza kuwa kitu cha Tarehe.

    SimpleDateFormat sdf = mpya SimpleDateFormat ("yyyy-MM-dd"). Kutangaza thamani katika "Tarehe ya Kitu" mpya, tumia fomati ya tarehe ile ile 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 ifuatayo itakuonyesha mifano ya kila kesi - chini ya, sawa, na kubwa kuliko.

    tarehe1 kulinganishaTo (tarehe2); // tarehe1 <date2, inarudisha thamani chini ya 0 date2.compareTo (date1); // date2> date1, inarudi thamani kubwa kuliko 0 date1.compareTo (date3); // date1 = date3, kwa hivyo itatoa 0 kwenye koni

Njia 2 ya 4: Kutumia Sawa, Baada na Kabla

4301351 4
4301351 4

Hatua ya 1. Tumia sawa, baada na kabla

Tarehe zinaweza kulinganishwa kwa kutumia sawa, baada, na kabla ya njia. Ikiwa tarehe mbili zina thamani sawa kwa wakati, njia sawa inarudi kweli. Mfano ufuatao utatumia kitu cha Tarehe iliyoundwa kwa njia ya kulinganisha.

4301351 5
4301351 5

Hatua ya 2. Linganisha na njia ya hapo awali

Nambari ifuatayo inaonyesha kesi ya mfano ambayo inarudi kweli na uwongo. Ikiwa tarehe1 ni tarehe kabla ya tarehe2, njia ya awali inarudi kweli. Vinginevyo, njia ya awali inarudi uwongo.

    Rangi ya Mfumo. (Tarehe1 kabla ya (tarehe2)); // onyesha thamani "ya kweli" System.out.print (date2.before (date2)); // kurudisha thamani "ya uwongo"

4301351 6
4301351 6

Hatua ya 3. Linganisha kutumia njia inayofuata

Nambari ifuatayo inaonyesha kesi ya mfano ambayo inarudi kweli na uwongo. Ikiwa tarehe2 ni tarehe baada ya tarehe1, njia inayofuata inarudi kweli. Vinginevyo, njia inayofuata itarudi kwa uwongo.

    System.out.print (date2.after (date1)); // onyesha thamani "kweli" System.out.print (date1.after (date2));

4301351 7
4301351 7

Hatua ya 4. Linganisha na njia sawa

Nambari ifuatayo inaonyesha kesi ya mfano ambayo inarudi kweli na uwongo. Ikiwa tarehe zote mbili ni sawa, njia sawa inarudi kweli. Vinginevyo, njia sawa inarudi uwongo.

    System.out.print (tarehe1.equals (date3)); // onyesha thamani "kweli" System.out.print (tarehe1.equals (date2));

Njia 3 ya 4: Kutumia Kalenda ya Darasa

4301351 8
4301351 8

Hatua ya 1. Tumia Kalenda ya Darasa

Darasa la Kalenda pia ina kulinganisha, sawa, baada, na kabla ya njia zinazofanya kazi sawa na zile zilizoelezewa mapema kwa darasa la Tarehe. Kwa hivyo ikiwa habari ya tarehe imehifadhiwa kwenye Kalenda ya Darasa, hauitaji kutoa tarehe ili tu kulinganisha.

4301351 9
4301351 9

Hatua ya 2. Unda mfano wa Kalenda

Kutumia njia katika Kalenda ya Hatari, lazima uunde matukio kadhaa ya Kalenda. Kwa bahati nzuri, unaweza kutumia maadili kutoka kwa Tarehe iliyoundwa hapo awali.

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

4301351 10
4301351 10

Hatua ya 3. Linganisha cal1 na cal2 ukitumia njia ya hapo awali

Nambari ifuatayo itatoa thamani ya tr

    Printa ya Mfumo (cal1 kabla ya (cal2)); // itarudi thamani "kweli"

4301351 11
4301351 11

Hatua ya 4. Linganisha cal1 na cal2 ukitumia njia inayofuata

Nambari ifuatayo itarudi kwa uwongo kwa sababu cal1 ni tarehe kabla ya cal2.

    Rangi ya Mfumo. (Cal1.baad (cal2)); // kurudisha thamani "ya uwongo"

4301351 12
4301351 12

Hatua ya 5. Linganisha cal1 na cal2 kwa kutumia njia sawa

Nambari ifuatayo itaonyesha kesi ya mfano ambayo inarudi kweli na uwongo. Hali inategemea mfano wa Kalenda ikilinganishwa. Nambari ifuatayo itarudisha thamani "kweli", halafu "uwongo" kwenye mstari unaofuata.

    Mfumo.out.println (cal1.equals (cal3)); // kurudisha thamani "kweli": cal1 == cal3 System.out.print (cal1.equals (cal2)); // kurudisha thamani "ya uwongo": cal1! = cal2

Njia 4 ya 4: Kutumia GetTime

4301351 13
4301351 13

Hatua ya 1. Tumia wakati

Unaweza pia kulinganisha moja kwa moja maadili ya kitengo cha tarehe mbili, ingawa njia mbili zilizopita zinaweza kuwa rahisi kusoma na kupendeza. Kwa njia hii utakuwa unalinganisha aina 2 za data za zamani, kwa hivyo unaweza kutumia operesheni "", na "==".

4301351 14
4301351 14

Hatua ya 2. Unda kitu cha wakati katika muundo wa Nambari ndefu

Kabla ya kulinganisha tarehe, lazima uunde Thamani ya Nambari ndefu kutoka kwa kitu cha Tarehe kilichoundwa hapo awali. Kwa bahati nzuri, njia ya GetTime () itakufanyia.

    muda mrefu1 = muda wa kupata (tarehe1); // tangaza wakati wa zamani 1 wa tarehe1 muda mrefu2 = muda wa kupata (tarehe2); // tangaza wakati wa zamani 2 thamani ya tarehe2

4301351 15
4301351 15

Hatua ya 3. Fanya chini ya kulinganisha

Tumia operesheni chini ya (<) kulinganisha maadili haya mawili kamili. Kwa kuwa saa1 ni chini ya saa2, ujumbe wa kwanza utaonekana. Taarifa nyingine imejumuishwa kukamilisha syntax.

    ikiwa (time1 <time2) {System.out.println ("date1 ni tarehe kabla ya tarehe2"); // itaonyesha kwa sababu time1 <time2} mwingine {System.out.println ("date1 sio tarehe kabla ya tarehe2"); }

4301351 16
4301351 16

Hatua ya 4. Fanya kubwa kuliko kulinganisha

Tumia operesheni kubwa kuliko (>) kulinganisha nambari hizi mbili kamili. Kwa sababu time1 ni kubwa kuliko saa2, ujumbe wa kwanza utaonekana. Taarifa nyingine imejumuishwa kukamilisha syntax.

    ikiwa (time2> time1) {System.out.println ("date2 ni tarehe baada ya tarehe1"); // itaonyesha kwa sababu time2> time1} mwingine {System.out.println ("date2 sio tarehe baada ya tarehe1"); }

4301351 17
4301351 17

Hatua ya 5. Fanya kulinganisha sawa

Tumia kazi ya operesheni kuangalia usawa wa maadili (==) kulinganisha nambari hizi mbili. Kwa kuwa time1 ni sawa na time3, ujumbe wa kwanza utaonekana. Ikiwa mtiririko wa programu utaingia kwenye taarifa nyingine, inamaanisha kwamba nyakati hizo mbili hazina thamani sawa.

    ikiwa (time1 == time2) {System.out.println ("tarehe zote mbili ni sawa"); } mwingine {System.out.println ("Ya 1 si sawa na ya 2"); // itaonyeshwa kwa sababu saa1! = saa2}

Ilipendekeza: