A Java programozási nyelvben sokféleképpen lehet összehasonlítani két dátumot. A számítógépekben a dátumot egy szám (a hosszú adattípus) jelzi időegységekben - azaz az 1970. január 1 -je óta eltelt ezredmásodpercek számában. A Java -ban a Date egy objektum, ami azt jelenti, hogy rendelkezik számos módszer az összehasonlításra. A két dátum összehasonlítására használt bármely módszer lényegében a két dátum időegységeinek összehasonlítását jelenti.
Lépés
1. módszer a 4 -ből: Az összehasonlítás használata
1. lépés. Használja az összehasonlítót
A Dátum objektum összehasonlíthatót valósít meg, így 2 dátum közvetlenül összehasonlítható egymással az összehasonlító módszerrel. Ha mindkét dátum azonos számmal rendelkezik időegységekben, akkor a módszer nullát ad vissza. Ha a második dátum kisebb, mint az első, akkor a nullánál kisebb érték kerül visszaadásra. Ha a második dátum nagyobb, mint az első, a módszer nullánál nagyobb értéket ad vissza. Ha mindkét dátum megegyezik, akkor a módszer null értéket ad vissza.
2. lépés. Több dátum objektum létrehozása
Több dátum objektumot kell létrehoznia, mielőtt összehasonlítja őket. Ennek egyik legegyszerűbb módja a SimpleDateFormat osztály használata. Ez az osztály megkönnyíti a beviteli dátumérték Dátum objektummá alakítását.
SimpleDateFormat sdf = új SimpleDateFormat ("yyyy-MM-dd"). Ha új „Object Date” értéket szeretne deklarálni, használja ugyanazt a dátumformátumot a dátum létrehozásakor. Dátum dátuma1 = sdf.parse ("1995-02-23"); // a dátum1 1995. február 23. Dátum dátuma2 = sdf.parse ("2001-10-31"); // a dátum2 2001. október 31. Dátum dátuma3 = sdf.parse ("1995-02-23"); // a dátum3 1995. február 23
3. lépés Hasonlítsa össze a Dátum objektumokat
A következő kód példákat mutat minden esetre - kisebb, egyenlő és nagyobb, mint.
date1.compareTo (dátum2); // dátum1 <dátum2, 0 -nál kisebb értéket ad vissza date2.compareTo (dátum1); // date2> date1, 0 -nál nagyobb értéket ad vissza date1.compareTo (date3); // dátum1 = dátum3, tehát 0 -t ad ki a konzolon
2. módszer a 4 -ből: Egyenlők használata, utána és előtte
1. lépés. Használjon egyenlőt, utána és előtt
A dátumok összehasonlíthatók az egyenlő, utána és előtte módszerekkel. Ha két dátum időben azonos értékű, akkor az egyenlő módszer igaz értéket ad vissza. A következő példa az összehasonlítás példában létrehozott Dátum objektumot használja.
2. lépés. Hasonlítsa össze az előző módszerrel
A következő kód egy példát mutat, amely igaz és hamis értéket ad vissza. Ha a dátum1 a dátum2 előtti dátum, akkor az előző metódus igaz értéket ad vissza. Ellenkező esetben az előző metódus hamis értéket ad vissza.
System.out.print (dátum1.előtte (dátum2)); // jelenítse meg az '' true '' értéket System.out.print (date2.before (date2)); // adja vissza a "" false "értéket
3. lépés. Hasonlítsa össze az utólagos módszerrel
A következő kód egy példát mutat, amely igaz és hamis értéket ad vissza. Ha a dátum2 a dátum utáni dátum, akkor az utólagos metódus igaz értéket ad vissza. Ellenkező esetben az after metódus hamis értéket ad vissza.
System.out.print (date2.after (date1)); // jelenítse meg az "true" értéket "System.out.print (date1.after (date2)); // jelenítse meg a" false"
4. lépés. Hasonlítsa össze az egyenlő módszerrel
A következő kód egy példát mutat, amely igaz és hamis értéket ad vissza. Ha mindkét dátum egyenlő, akkor az egyenlő módszer igaz értéket ad vissza. Ellenkező esetben az egyenlő módszer hamis értéket ad vissza.
System.out.print (date1.equals (date3)); // az "" true "érték megjelenítése" System.out.print (date1.equals (date2)); // a "false" érték megjelenítése
3. módszer a 4 -ből: Osztálynaptár használata
1. lépés. Használja az Osztálynaptárat
A Naptár osztály rendelkezik összehasonlítási módszerrel, egyenlő, utána és előtt metódusokkal, amelyek ugyanúgy működnek, mint a Dátum osztálynál korábban leírtak. Tehát ha a dátuminformációkat egy osztálynaptár tárolja, akkor nem kell kivonnia a dátumot, csak összehasonlítás céljából.
2. lépés. Hozzon létre egy naptári példányt
Az osztálynaptár módszereinek használatához több naptári példányt kell létrehoznia. Szerencsére használhatja a korábban létrehozott dátumpéldány értékeit.
Naptár cal1 = Calendar.getInstance (); // deklarálja cal1 Naptár cal2 = Calendar.getInstance (); // deklarálja cal2 Naptár cal3 = Calendar.getInstance (); // deklarálja a cal3 cal1.setTime (dátum1); // tegye a dátumot cal1 cal2.setTime (date2); cal3.setTime (dátum3);
3. lépés Hasonlítsa össze a cal1 és cal2 értékeket az előző módszerrel
A következő kód a tr értékét adja ki
System.out.print (cal1.before (cal2)); // visszaadja az "true" értéket
Lépés 4. Hasonlítsa össze a cal1 és cal2 értékeket az after módszerrel
A következő kód hamisat ad vissza, mert a cal1 a cal2 előtti dátum.
System.out.print (cal1.after (cal2)); // adja vissza a "" false "értéket
5. lépés Hasonlítsa össze a cal1 és cal2 értékeket az egyenlő módszer segítségével
A következő kód egy példát mutat be, amely igaz és hamis értéket ad vissza. Az állapot az összehasonlított naptári példánytól függ. A következő kód "true", majd "false" értéket ad vissza a következő sorban.
System.out.println (cal1.equals (cal3)); // visszaadja az '' true '' értéket: cal1 == cal3 System.out.print (cal1.equals (cal2)); // adja vissza a '' false '' értéket: cal1! = cal2
4. módszer a 4 -ből: A getTime használata
1. lépés. Használja a getTime programot
Közvetlenül összehasonlíthatja két dátum időegység -értékeit is, bár az előző két módszer könnyebben olvasható és előnyösebb. Így két primitív adattípust hasonlít össze, így használhatja a "" és a "==" operandusokat.
2. lépés. Hozzon létre egy időobjektumot hosszú számformátumban
Mielőtt összehasonlíthatja a dátumokat, létre kell hoznia egy hosszú egész értéket a korábban létrehozott Dátum objektumból. Szerencsére a getTime () módszer megteszi helyetted.
hosszú idő1 = getTime (dátum1); // deklarálja a dátum primitív idejét1 hosszú idő2 = getTime (dátum2); // deklarálja a primitív time2 értékét date2
Lépés 3. Végezzen kisebb összehasonlítást
Használja a <<) operandust a két egész szám összehasonlításához. Mivel az idő1 kevesebb, mint az idő2, megjelenik az első üzenet. Az else utasítás a szintaxis befejezéséhez szerepel.
if (idő1 <idő2) {System.out.println ("dátum1 a dátum előtti dátum2"); // azért jelenik meg, mert az idő1 <idő2} else {System.out.println ("dátum1 nem dátum előtt dátum2"); }
Lépés 4. Végezzen nagyobbat, mint az összehasonlítás
Használja a nagyobb (>) operandust e két egész érték összehasonlításához. Mivel az idő1 nagyobb, mint az idő2, megjelenik az első üzenet. Az else utasítás a szintaxis befejezéséhez szerepel.
if (time2> time1) {System.out.println ("dátum2 a dátum utáni dátum1"); // megjelenik, mert idő2> idő1} else {System.out.println ("dátum2 nem a dátum utáni dátum"); }
5. lépés Végezzen egyenlő összehasonlítást
Az operandus függvénnyel ellenőrizheti az értékek egyenlőségét (==) e két egész szám összehasonlításához. Mivel az idő1 egyenlő az idővel3, megjelenik az első üzenet. Ha a programfolyamat az else utasításba kerül, az azt jelenti, hogy a két idő értéke nem azonos.
if (time1 == time2) {System.out.println ("mindkét dátum ugyanaz"); } else {System.out.println ("Az első nem ugyanaz, mint a második"); // azért jelenik meg, mert idő1! = idő2}