4 módszer a két dátum összehasonlítására Java -ban

Tartalomjegyzék:

4 módszer a két dátum összehasonlítására Java -ban
4 módszer a két dátum összehasonlítására Java -ban

Videó: 4 módszer a két dátum összehasonlítására Java -ban

Videó: 4 módszer a két dátum összehasonlítására Java -ban
Videó: Installing Presets in Lightroom Classic CC 2019 2020 [ How To Tutorial for XMP & LR Template Files ] 2024, Lehet
Anonim

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

4301351 1
4301351 1

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.

4301351 2
4301351 2

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

4301351 3
4301351 3

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

4301351 4
4301351 4

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.

4301351 5
4301351 5

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

4301351 6
4301351 6

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"

4301351 7
4301351 7

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

4301351 8
4301351 8

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.

4301351 9
4301351 9

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);

4301351 10
4301351 10

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

4301351 11
4301351 11

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

4301351 12
4301351 12

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

4301351 13
4301351 13

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.

4301351 14
4301351 14

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

4301351 15
4301351 15

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"); }

4301351 16
4301351 16

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"); }

4301351 17
4301351 17

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}

Ajánlott: