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ó: Change Inkscape Default Settings 2024, Április
Anonim

A Java dátumok összehasonlításának különféle módjai vannak. Belsőleg a dátumot (hosszú) időpontban ábrázolják - az 1970. január 1. óta eltelt ezredmásodpercek számát. A Java -ban a Date egy objektum, ami azt jelenti, hogy több összehasonlítási módszert is tartalmaz. Bármely módszer két dátum összehasonlítására lényegében összehasonlítja a dátumokat.

Lépések

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 végrehajtása Összehasonlítható, és így két dátum közvetlenül összehasonlítható az összehasonlító módszerrel. Ha a dátumok ugyanarra az időpontra vonatkoznak, a módszer nullát ad vissza. Ha az összehasonlított dátum a dátum argumentum előtt van, akkor a nulla értéknél kisebb érték kerül visszaadásra. Ha az összehasonlított dátum a dátum argumentum után van, akkor a nullánál nagyobb érték kerül visszaadásra. Ha a dátumok megegyeznek, akkor 0 értéket adunk vissza.

4301351 2
4301351 2

2. lépés. Hozza létre a dátum objektumokat

Az összehasonlítás megkezdése előtt létre kell hoznia minden dátumobjektumot. Ennek egyik módja a SimpleDateFormat osztály használata. Lehetővé teszi a dátumértékek egyszerű bevitelét a dátum objektumokba.

    SimpleDateFormat sdf = új SimpleDateFormat ("yyyy-MM-dd"); // Értékek deklarálásához új dátum objektumokban. ugyanazt a dátumformátumot használja a dátumok létrehozásakor Dátum dátum1 = 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

Az alábbi kód minden esetet megmutat - kisebb, egyenlő és nagyobb, mint.

    date1.compareTo (dátum2); // dátum1 <dátum2, kevesebb, mint 0 dátum2.compareTo (dátum1); // dátum2> dátum1, nagyobb, mint 0 date1.compareTo (dátum3); // dátum1 = dátum3, így 0 -t nyomtat a konzolra

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átumokat össze lehet hasonlítani az egyenlőkkel, a módszerek után és előtt. Ha két dátum ugyanarra az időpontra vonatkozik, akkor az egyenlő módszer igaz értéket ad vissza. A példák az összehasonlítás módszerből korábban létrehozott dátumokat fogják használni.

4301351 5
4301351 5

2. lépés. Hasonlítsa össze az előző módszerrel

Az alábbi kód igaz és hamis esetet mutat. Ha a dátum1 a dátum2 előtt van, az előtt igaz értéket ad vissza. Ha nem, akkor a hamis értéket adja vissza.

    System.out.print (dátum1.előtte (dátum2)); // kinyomtatja a valódi System.out.print (dátum2.előtte (dátum2)); // hamisan nyomtat

4301351 6
4301351 6

3. lépés. Hasonlítsa össze az utólagos módszerrel

Az alábbi kód igaz és hamis esetet mutat. Ha a dátum2 a dátum1 utáni, akkor az igaz értéket adja vissza. Ha nem, akkor a visszatérés után hamis.

    System.out.print (date2.after (date1)); // igaz nyomtatása System.out.print (date1.after (date2)); // hamis nyomtatás

4301351 7
4301351 7

4. lépés. Hasonlítsa össze az egyenlő módszerrel

Az alábbi kód igaz és hamis esetet mutat. Ha a dátumok egyenlők, akkor az egyenlő érték igaz értéket ad vissza. Ha nem, akkor az egyenlő hamis értéket ad vissza.

    System.out.print (date1.equals (date3)); // igaz nyomtatás System.out.print (date1.equals (date2)); // hamis nyomtatás

3. módszer a 4 -ből: A naptár osztály használata

4301351 8
4301351 8

1. lépés. Használja a naptárat

A naptárosztály rendelkezik összehasonlító (ToTo), egyenlő, utána és előtt metódusokkal is, amelyek ugyanúgy működnek, mint a dátumosztálynál leírtak. Tehát ha a dátuminformációkat naptárban tárolják, akkor nincs szükség a dátum kivonására csak az összehasonlítás elvégzése érdekében.

4301351 9
4301351 9

2. lépés. Hozzon létre naptári példányokat

A Naptár módszerek használatához néhány naptári példányra lesz szüksége. Szerencsére csak megragadhatja az időt a már létrehozott dátumpéldányokból.

    Naptár cal1 = Calendar.getInstance (); // deklarálja a cal1 naptárat cal2 = Calendar.getInstance (); // deklarálja a cal2 naptárat cal3 = Calendar.getInstance (); // deklarálja a cal3 cal1.setTime (dátum1); // dátumot alkalmaz a cal1 cal2.setTime (dátum2); cal3.setTime (dátum3);

4301351 10
4301351 10

Lépés 3. Hasonlítsa össze a cal1 és cal2 értékeket az előző használatával

Az alábbi kódnak igaznak kell lennie, mivel a cal1 a cal2 előtt van.

    System.out.print (cal1.before (cal2)); // igaz lesz

4301351 11
4301351 11

Lépés 4. Hasonlítsa össze a cal1 és a cal2 értékeket a after használatával

Az alábbi kódnak hamisnak kell lennie, mivel a cal1 a cal2 előtt van.

    System.out.print (cal1.after (cal2)); // hamisan nyomtat

4301351 12
4301351 12

5. lépés Hasonlítsa össze a cal1 és a cal2 egyenlőt

Az alábbi kód egy példát mutat igaz és hamis esetre. A feltétel függ az összehasonlított naptári példányoktól. A kódnak "igaz", majd "hamis" -t kell nyomtatnia a következő sorban.

    System.out.println (cal1.equals (cal3)); // igaz nyomtatás: cal1 == cal3 System.out.print (cal1.equals (cal2)); // hamisan nyomtat: 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

Lehetőség van két dátum időpontjának közvetlen összehasonlítására is, bár a korábbi megközelítések bármelyike valószínűleg olvashatóbb és így előnyösebb. Ez két primitív adattípus összehasonlítása lesz, így a "" és a "==" segítségével is elvégezhető.

4301351 14
4301351 14

2. lépés. Hozzon létre hosszú időtartamú objektumokat

Mielőtt összehasonlíthatja a dátumokat, hosszú egész számokat kell létrehoznia a korábban létrehozott Dátum objektumok adataival. Szerencsére a getTime () módszer elvégzi a legtöbb munkát helyetted.

    hosszú idő1 = getTime (dátum1); // deklarálja a primitív időt1 dátumtól1 hosszú idő2 = getTime (dátum2); // deklarálja a primitív időt2 dátumtól2

4301351 15
4301351 15

Lépés 3. Végezzen kisebb összehasonlítást

Használja a kevesebb, mint szimbólumot (<) e két egész érték összehasonlításához. Mivel az 1. idő kevesebb, mint a 2. idő, az első üzenetet ki kell nyomtatni. Az else utasítás a megfelelő szintaxis érdekében szerepel.

    if (idő1 <idő2) {System.out.println ("dátum1 dátum előtt van"); // az idő1 óta fog nyomtatni <idő2} else {System.out.println ("dátum1 nem dátum előtt 2"); }

4301351 16
4301351 16

4. lépés: Végezzen nagyobbat, mint az összehasonlítás

Használja a nagyobb mint szimbólumot (>) e két egész érték összehasonlításához. Mivel az idő1 nagyobb, mint a 2 -es, az első üzenetet ki kell nyomtatni. Az else utasítás a megfelelő szintaxis érdekében szerepel.

    if (time2> time1) {System.out.println ("dátum2 a dátum1 után"); // idő óta fog nyomtatni2> idő1} else {System.out.println ("dátum2 nem dátum1 után"); }

4301351 17
4301351 17

5. lépés. Végezzen egyenlő összehasonlítást

A szimbólum használatával ellenőrizze az egyenlőséget (==), és hasonlítsa össze a két egész szám egyenlőségét. Mivel az idő1 egyenlő az idővel3, az első üzenetet ki kell nyomtatni. Ha a program eljut az else utasításhoz, az azt jelenti, hogy az idő nem egyenlő.

    if (time1 == time2) {System.out.println ("a dátumok egyenlők"); } else {System.out.println ("a dátumok nem egyenlők"); // idő óta fog nyomtatni! = time2}

Ajánlott: