Java -da iki tarixi müqayisə etməyin 4 yolu

Mündəricat:

Java -da iki tarixi müqayisə etməyin 4 yolu
Java -da iki tarixi müqayisə etməyin 4 yolu

Video: Java -da iki tarixi müqayisə etməyin 4 yolu

Video: Java -da iki tarixi müqayisə etməyin 4 yolu
Video: WooCommerce Nedir? Dünyanın En Popüler E-Ticaret Yazılımı! (ÜCRETSİZ) 2024, Bilər
Anonim

Java proqramlaşdırma dilində iki tarixi müqayisə etməyin bir çox yolu var. Kompüterlərdə bir tarix, zaman vahidləri ilə bir rəqəmlə (uzun məlumat növü) təmsil olunur, yəni 1970 -ci il yanvarın 1 -dən keçən millisekundların sayıdır. Java -da Tarix bir obyektdir, yəni müqayisə etmək üçün bir neçə üsul. İki tarixi müqayisə etmək üçün istifadə olunan hər hansı bir üsul, əslində iki tarixin zaman vahidlərini müqayisə etməkdir.

Addım

Metodun 1 -dən 4 -ü: müqayisə etməkdən istifadə edin

4301351 1
4301351 1

Addım 1. CompareTo istifadə edin

Tarix obyekti Comparable tətbiq edir, beləliklə 2 tarix bir -biri ilə müqayisə etməklə müqayisə edilə bilər. Hər iki tarix də zaman vahidlərində eyni sayda olarsa, metod sıfır qaytarır. İkinci tarix birincidən azdırsa, sıfırdan aşağı bir dəyər qaytarılır. İkinci tarix birincidən daha böyükdürsə, metod sıfırdan böyük bir dəyər qaytarır. Hər iki tarix eyni olarsa, metod sıfır dəyəri qaytaracaq.

4301351 2
4301351 2

Addım 2. Birdən çox Tarix obyekti yaradın

Müqayisə etməzdən əvvəl birdən çox Tarix obyekti yaratmalısınız. Bunun ən asan yollarından biri SimpleDateFormat sinifindən istifadə etməkdir. Bu sinif, giriş tarixi dəyərini Tarix obyektinə çevirməyi asanlaşdırır.

    SimpleDateFormat sdf = yeni SimpleDateFormat ("yyyy-AA-gg"). Yeni bir '' Obyekt Tarixində '' bir dəyər elan etmək üçün tarixi yaratarkən eyni tarix formatını istifadə edin. Tarix tarixi1 = sdf.parse ("1995-02-23"); // tarix1 23 Fevral 1995 tarix Tarix2 = sdf.parse ("2001-10-31"); // date2 31 Oktyabr 2001 tarixidir Date date3 = sdf.parse ("1995-02-23"); // date3 23 fevral 1995 -ci ildir

4301351 3
4301351 3

Addım 3. Tarix obyektlərini müqayisə edin

Aşağıdakı kod sizə hər hal üçün nümunələr göstərəcək - daha az, bərabər və daha böyük.

    date1.compareTo (date2); // date1 <date2, 0 date2.compareTo (date1) dəyərindən az bir dəyər qaytarır; // date2> date1, 0 date1.compareTo (date3) -dən böyük bir dəyər qaytarır; // tarix1 = tarix3, buna görə konsolda 0 çıxacaq

Metod 2 /4: Bərabərlərdən sonra, sonra və əvvəl istifadə etmək

4301351 4
4301351 4

Addım 1. Sonra və əvvəl bərabərləri istifadə edin

Tarixləri bərabər, sonra və əvvəl metodlarla müqayisə etmək olar. İki tarix eyni vaxtda eyni dəyərə sahibdirsə, equals metodu doğru qaytarır. Aşağıdakı nümunə, müqayisə metodunda nümunədə yaradılan Tarix obyektindən istifadə edəcək.

4301351 5
4301351 5

Addım 2. Əvvəlki üsulla müqayisə edin

Aşağıdakı kod, doğru və yalnış qaytaran bir nümunə hal göstərir. Əgər tarix1 tarixdən 2 əvvəlki bir tarixdirsə, əvvəl metodu doğru qaytarır. Əks təqdirdə, əvvəl metodu false qaytarır.

    System.out.print (tarix1.dən əvvəl (tarix2)); // '' true '' System.out.print (date2.before (date2)) dəyərini göstərin; // '' false '' dəyərini qaytarın

4301351 6
4301351 6

Addım 3. After metodundan istifadə edərək müqayisə edin

Aşağıdakı kod, doğru və yalnış qaytaran bir nümunə hal göstərir. Date2 tarix1 tarixindən sonrakı tarixdirsə, after metodu true qaytarır. Əks təqdirdə, after metodu false qaytaracaq.

    System.out.print (date2.after (date1)); // '' true '' dəyərini göstərin System.out.print (date1.after (date2)); // '' false '' dəyərini göstərin

4301351 7
4301351 7

Addım 4. Equals metodu ilə müqayisə edin

Aşağıdakı kod, doğru və yalnış qaytaran bir nümunə hal göstərir. Hər iki tarix bərabərdirsə, equals metodu doğru qaytarır. Əks halda, equals metodu false qaytarır.

    System.out.print (date1.equals (date3)); // '' true '' dəyərini göstərin System.out.print (date1.equals (date2)); // '' false '' dəyərini göstərin

Metod 3 /4: Sinif Təqvimindən istifadə

4301351 8
4301351 8

Addım 1. Sinif Təqvimindən istifadə edin

Təqvim sinifində, əvvəllər Tarix sinfi üçün təsvir edilənlərlə eyni işləyən müqayisə üsulları, bərabər, sonra və əvvəl də var. Tarix məlumatları bir sinif təqvimində saxlanılırsa, yalnız müqayisə etmək üçün tarixi çıxarmağa ehtiyac yoxdur.

4301351 9
4301351 9

Addım 2. Təqvim nümunəsi yaradın

Sinif Təqvimində metodlardan istifadə etmək üçün birdən çox Təqvim nümunəsi yaratmalısınız. Xoşbəxtlikdən, dəyərləri əvvəllər yaradılmış bir Tarix nümunəsindən istifadə edə bilərsiniz.

    Təqvim cal1 = Calendar.getInstance (); // elan cal1 Təqvim cal2 = Calendar.getInstance (); // cal2 təqvim elan edin cal3 = Calendar.getInstance (); // cal3 elan edin cal1.setTime (tarix1); // tarixi cal1 -ə qoyun cal2.setTime (date2); cal3.setTime (tarix3);

4301351 10
4301351 10

Addım 3. Əvvəlki metoddan istifadə edərək cal1 və cal2 -ni müqayisə edin

Aşağıdakı kod tr dəyərini çıxaracaq

    System.out.print (cal1.forefore (cal2)); // "true" dəyərini qaytaracaq

4301351 11
4301351 11

Addım 4. after1 metodundan istifadə edərək cal1 və cal2 -ni müqayisə edin

Cal1, cal2 -dən əvvəlki tarix olduğu üçün aşağıdakı kod yalançı olacaq.

    System.out.print (cal1.after (cal2)); // '' false '' dəyərini qaytarın

4301351 12
4301351 12

Addım 5. Equ1 metodundan istifadə edərək cal1 və cal2 müqayisə edin

Aşağıdakı kod, doğru və yalnış qaytaran bir nümunə hal göstərəcək. Vəziyyət müqayisə olunan Təqvim nümunəsindən asılıdır. Aşağıdakı kod növbəti sətirdə "doğru", sonra "yalan" dəyərini qaytaracaq.

    System.out.println (cal1.equals (cal3)); // '' doğru '' dəyərini qaytarın: cal1 == cal3 System.out.print (cal1.equals (cal2)); // '' false '' dəyərini qaytarın: cal1! = cal2

Metod 4 /4: GetTime istifadə edin

4301351 13
4301351 13

Addım 1. GetTime istifadə edin

Əvvəlki iki metodun oxunması daha asan və üstünlük verilə bilsə də, iki tarixin vaxt vahid dəyərlərini birbaşa müqayisə edə bilərsiniz. Bu şəkildə 2 "ibtidai məlumat növünü müqayisə edəcəksiniz, beləliklə" "və" == "operandlarından istifadə edə bilərsiniz.

4301351 14
4301351 14

Addım 2. Uzun rəqəm formatında bir zaman obyekti yaradın

Tarixləri müqayisə etməzdən əvvəl əvvəllər yaradılmış Tarix obyektindən Uzun Tamsayı dəyər yaratmalısınız. Xoşbəxtlikdən, getTime () metodu sizin üçün bunu edəcək.

    uzun zaman1 = getTime (tarix1); // ibtidai zaman1 tarixini elan edin1 uzun müddət2 = getTime (tarix2); // ibtidai zaman2 tarixinin 2 dəyərini elan edin

4301351 15
4301351 15

Addım 3. Müqayisədən daha azını yerinə yetirin

Bu iki tam ədədin dəyərini müqayisə etmək üçün (<) -dən az operand istifadə edin. Zaman1 vaxt2 -dən az olduğundan ilk mesaj görünəcək. Sintaksisi tamamlamaq üçün else ifadəsi daxil edilir.

    if (zaman1 <zaman2) {System.out.println ("tarix1 tarixdən əvvəlki tarixdir"); // göstərəcək, çünki zaman1 <zaman2} başqa {System.out.println ("date1, tarixdən əvvəlki bir tarix deyil"); }

4301351 16
4301351 16

Addım 4. Müqayisədən daha böyük bir şey edin

Bu iki tam ədədin dəyərini müqayisə etmək üçün (>) -dən böyük olan operanddan istifadə edin. Zaman1 zaman2 -dən böyük olduğu üçün ilk mesaj görünəcək. Sintaksisi tamamlamaq üçün else ifadəsi daxil edilir.

    if (time2> time1) {System.out.println ("date2, tarixdən sonrakı tarixdir"); // göstərəcək, çünki zaman2> vaxt1} başqa {System.out.println ("date2 tarixdən sonrakı tarix deyil"); }

4301351 17
4301351 17

Addım 5. Bərabər müqayisə aparın

Bu iki tam ədədləri müqayisə etmək üçün dəyərlərin bərabərliyini yoxlamaq üçün operand funksiyasından istifadə edin (==). Zaman1 vaxt3 -ə bərabər olduğu üçün ilk mesaj görünəcək. Proqram axını else ifadəsinə girərsə, bu iki vaxtın eyni dəyərə sahib olmadığı anlamına gəlir.

    if (time1 == time2) {System.out.println ("hər iki tarix eynidir"); } başqa {System.out.println ("1 -ci 2 -ci ilə eyni deyil"); // göstərəcək, çünki zaman1! = vaxt2}

Tövsiyə: