4 võimalust kahe kuupäeva võrdlemiseks Java -s

Sisukord:

4 võimalust kahe kuupäeva võrdlemiseks Java -s
4 võimalust kahe kuupäeva võrdlemiseks Java -s

Video: 4 võimalust kahe kuupäeva võrdlemiseks Java -s

Video: 4 võimalust kahe kuupäeva võrdlemiseks Java -s
Video: Cara atur DPI di Inksacpe tanpa mengubah ukuran / how to change dpi in inkscape 2024, Märts
Anonim

Java kuupäevade võrdlemiseks on erinevaid viise. Sisemiselt kujutatakse kuupäeva (pika) ajapunktina - millisekundite arv, mis on möödunud 1. jaanuarist 1970. Java -s on kuupäev objekt, mis tähendab, et see sisaldab mitmeid võrdlusmeetodeid. Iga kahe kuupäeva võrdlemise meetod võrdleb sisuliselt kuupäevade aegu.

Sammud

Meetod 1 /4: võrdluse kasutamine

4301351 1
4301351 1

Samm 1. Kasutage võrdlust

Kuupäev rakendatakse Võrreldav ja seega saab kahte kuupäeva võrrelda otse võrdlusmeetodiga. Kui kuupäevad on samal ajahetkel, tagastab meetod nulli. Kui võrreldav kuupäev on enne kuupäeva argumenti, tagastatakse väärtus, mis on väiksem kui null. Kui võrreldav kuupäev on pärast kuupäeva argumenti, tagastatakse väärtus, mis on suurem kui null. Kui kuupäevad on võrdsed, tagastatakse väärtus 0.

4301351 2
4301351 2

Samm 2. Looge kuupäevaobjektid

Enne nende võrdlemise alustamist peate looma iga kuupäevaobjekti. Üks võimalus seda teha on klassi SimpleDateFormat kasutamine. See võimaldab kuupäevaväärtuste hõlpsat sisestamist kuupäevaobjektidesse.

    SimpleDateFormat sdf = uus SimpleDateFormat ("yyyy-MM-dd"); // Väärtuste deklareerimiseks uutes kuupäevaobjektides. kasutage kuupäevade loomisel sama kuupäevavormingut Kuupäev kuupäev1 = sdf.parse ("1995-02-23"); // kuupäev1 on 23. veebruar 1995 Kuupäev kuupäev2 = sdf.parse ("2001-10-31"); // kuupäev2 on 31. oktoober 2001 Kuupäev kuupäev3 = sdf.parse ("1995-02-23"); // kuupäev3 on 23. veebruar 1995

4301351 3
4301351 3

Samm 3. Võrdle kuupäeva objekte

Allolev kood näitab teile iga juhtumit - väiksem, võrdne ja suurem kui.

    date1.compareTo (kuupäev2); // kuupäev1 <kuupäev2, tagastab vähem kui 0 date2.compareTo (kuupäev1); // kuupäev2> kuupäev1, tagastab suurema kui 0 date1.compareTo (date3); // kuupäev1 = kuupäev3, nii prinditakse konsoolile 0

Meetod 2/4: võrdsete, pärast ja enne kasutamist

4301351 4
4301351 4

Etapp 1. Kasutage võrdseid, pärast ja enne

Kuupäevi saab võrrelda võrdsete meetoditega, pärast ja enne meetodeid. Kui kaks kuupäeva on sama ajahetke jaoks, tagastab meetod võrdne tõese. Näidetes kasutatakse võrdluse meetodist varem loodud kuupäevi.

4301351 5
4301351 5

Samm 2. Võrrelge, kasutades eelmist meetodit

Allolev kood näitab tõest ja valest juhtumist. Kui kuupäev1 on enne kuupäeva2, tagastab enne tõene. Kui ei, siis tagastab enne väärtuse vale.

    System.out.print (date1.before (date2)); // prindib tõese System.out.print (date2.before (date2)); // prindib vale

4301351 6
4301351 6

Samm 3. Võrrelge, kasutades järgnevat meetodit

Allolev kood näitab tõest ja valest juhtumist. Kui kuupäev2 on pärast kuupäeva1, tagastab pärast tõene. Kui ei, siis tagastab pärast väärtust vale.

    System.out.print (date2.after (date1)); // prindib tõese System.out.print (date1.after (date2)); // prindib vale

4301351 7
4301351 7

Samm 4. Võrdle võrdsete meetodite abil

Allolev kood näitab tõest ja valest juhtumist. Kui kuupäevad on võrdsed, tagastab võrdne tõene. Kui neid pole, tagastab võrdne vale.

    System.out.print (date1.equals (date3)); // prindib tõese System.out.print (date1.equals (date2)); // prindib vale

3. meetod 4 -st: kalendriklassi kasutamine

4301351 8
4301351 8

Samm 1. Kasutage kalendrit

Kalendriklassis on ka võrdlusvõrdlus, võrdne, pärast ja enne meetodeid, mis toimivad samamoodi nagu ülalkirjeldatud kuupäevaklassi puhul. Seega, kui kuupäeva teavet hoitakse kalendris, ei ole vaja võrdluse tegemiseks kuupäeva välja võtta.

4301351 9
4301351 9

Samm 2. Looge kalendri eksemplare

Kalendri meetodite kasutamiseks vajate mõnda kalendri eksemplari. Õnneks saate lihtsalt ajad haarata juba loodud kuupäeva eksemplaridest.

    Kalender cal1 = Calendar.getInstance (); // deklareerib cal1 Kalender cal2 = Calendar.getInstance (); // deklareerib cal2 Kalender cal3 = Calendar.getInstance (); // deklareerib cal3 cal1.setTime (date1); // rakendab kuupäeva cal1 cal2.setTime (date2); cal3.setTime (kuupäev3);

4301351 10
4301351 10

Samm 3. Võrrelge cal1 ja cal2, kasutades varem

Allolev kood peaks printima tõene, kuna cal1 on enne cal2.

    System.out.print (cal1.before (cal2)); // trükitakse tõsi

4301351 11
4301351 11

Samm 4. Võrrelge cal1 ja cal2, kasutades pärast

Allolev kood peaks printima vale, kuna cal1 on enne cal2.

    System.out.print (cal1.after (cal2)); // prindib vale

4301351 12
4301351 12

Samm 5. Võrrelge cal1 ja cal2, kasutades võrdset

Allpool olev kood näitab näidet nii tõese kui ka vale juhtumi kohta. Tingimus sõltub võrreldavatest kalendri juhtumitest. Kood peaks järgmisele reale trükkima "true", seejärel "false".

    System.out.println (cal1.equals (cal3)); // prindib tõene: cal1 == cal3 System.out.print (cal1.equals (cal2)); // prindib vale: cal1! = cal2

Meetod 4/4: getTime'i kasutamine

4301351 13
4301351 13

Samm 1. Kasutage getTime'i

Samuti on võimalik otse võrrelda kahe kuupäeva ajahetke, kuigi mõni eelnevatest lähenemisviisidest on tõenäoliselt loetavam ja seega eelistatavam. See on kahe primitiivse andmetüübi võrdlus, nii et seda saab teha "" ja "==".

4301351 14
4301351 14

Samm 2. Looge pikaajalised objektid

Enne kuupäevade võrdlemist peate looma pikad täisarvud varem loodud kuupäevaobjektide andmetega. Õnneks teeb getTime () meetod suurema osa teie eest ära.

    pikk aeg1 = getTime (kuupäev1); // deklareerib primitiivse kellaaja1 kuupäevast1 pikk aeg2 = getTime (kuupäev2); // deklareerib primitiivse aja2 alates kuupäevast2

4301351 15
4301351 15

Samm 3. Tehke vähem kui võrdlus

Kasutage sümbolit alla <() nende kahe täisarvu väärtuste võrdlemiseks. Kuna aeg1 on lühem kui aeg 2, peaks esimene teade printima. Õige süntaksi jaoks on lisatud muu avaldus.

    if (time1 <time2) {System.out.println ("kuupäev1 on enne kuupäeva2"); // trükitakse alates ajast1 <aeg2} else {System.out.println ("kuupäev1 ei ole enne kuupäeva2"); }

4301351 16
4301351 16

Samm 4. Tehke võrdlusest suurem

Nende kahe täisarvu väärtuste võrdlemiseks kasutage sümbolit (>). Kuna aeg1 on suurem kui aeg 2, tuleks esimene teade printida. Õige süntaksi jaoks on lisatud muu avaldus.

    if (time2> time1) {System.out.println ("kuupäev2 on pärast kuupäeva1"); // trükitakse alates ajast2> aeg1} else {System.out.println ("date2 ei ole kuupäeva1 järel"); }

4301351 17
4301351 17

Samm 5. Tehke võrdlus

Kasutage sümbolit võrdsuse kontrollimiseks (==), et võrrelda neid kahte täisväärtuslikku võrdsust. Kuna aeg1 võrdub ajaga3, peaks esimene teade printima. Kui programm jõuab muu avalduseni, tähendab see, et ajad pole võrdsed.

    if (time1 == time2) {System.out.println ("kuupäevad on võrdsed"); } else {System.out.println ("kuupäevad pole võrdsed"); // trükitakse alates ajast1! = aeg2}

Soovitan: