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: Nasıl yapılır - Inkscape ile vintage yazı efekti 2024, Aprel
Anonim

Java tarixlərini müqayisə etməyin müxtəlif yolları var. Daxili olaraq, bir tarix (uzun) bir zaman nöqtəsi olaraq təmsil olunur - 1 Yanvar 1970 -dən keçən millisekundların sayı. Java -da Tarix bir obyektdir, yəni müqayisə üçün bir çox üsulları ehtiva edir. İki tarixi müqayisə etmək üçün hər hansı bir üsul əslində tarixlərin vaxtlarını müqayisə edəcək.

Addımlar

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

4301351 1
4301351 1

Addım 1. CompareTo istifadə edin

Tarix Müqayisəli tətbiq edir və buna görə də iki tarix birbaşa karşılaştırma metodu ilə müqayisə edilə bilər. Tarixlər eyni vaxta aiddirsə, metod sıfır qaytarır. Müqayisə olunan tarix tarix arqumentindən əvvəldirsə, sıfırdan aşağı olan bir dəyər qaytarılır. Müqayisə olunan tarix tarix arqumentindən sonra olarsa, sıfırdan böyük bir dəyər qaytarılır. Tarixlər bərabərdirsə, 0 dəyəri qaytarılır.

4301351 2
4301351 2

Addım 2. Tarix obyektləri yaradın

Müqayisəyə başlamazdan əvvəl hər bir tarix obyektini yaratmalısınız. Bunun bir yolu SimpleDateFormat sinifindən istifadə etməkdir. Tarix dəyərlərinin tarix obyektlərinə asanlıqla daxil edilməsinə imkan verir.

    SimpleDateFormat sdf = yeni SimpleDateFormat ("yyyy-AA-gg"); // Yeni tarix obyektlərində dəyərlərin elan edilməsi üçün. tarixlər yaradarkən eyni tarix formatını istifadə edin Date date1 = 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 bir işi göstərəcək - daha az, bərabər və daha böyük.

    date1.compareTo (date2); // tarix1 <tarix2, 0 tarixdən az qaytarır2 date2.compareTo (tarix1); // date2> date1, 0 tarixdən böyük qaytarır1 date1.compareTo (date3); // tarix1 = tarix3, buna görə konsol üçün 0 yazılacaq

Metod 2 /4: Bərabər, 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ər, metodlardan sonra və əvvəl bərabər olanlarla müqayisə edilə bilər. Eyni tarix üçün iki tarix varsa, bərabərlik metodu doğruya dönəcəkdir. Nümunələr, əvvəllər müqayisəli metoddan yaradılmış tarixlərdən istifadə edəcək.

4301351 5
4301351 5

Addım 2. Əvvəlki metoddan istifadə edərək müqayisə edin

Aşağıdakı kod doğru və yanlış bir işi göstərir. Əgər tarix1 tarixdən 2 -dirsə, əvvəl true qaytarılır. Əgər deyilsə, əvvəl yalan qaytarılır.

    System.out.print (tarix1.dən əvvəl (tarix2)); // doğru System.out.print (date2.before (date2)) yazdırır; // yalan yazır

4301351 6
4301351 6

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

Aşağıdakı kod doğru və yanlış bir işi göstərir. Date2 tarix1 tarixindən sonradırsa, sonra true qaytarılır. Əks təqdirdə, saxta qaytarıldıqdan sonra.

    System.out.print (date2.after (date1)); // doğru yazır System.out.print (date1.after (date2)); // false yazır

4301351 7
4301351 7

Addım 4. Equals metodundan istifadə edərək müqayisə edin

Aşağıdakı kod doğru və yanlış bir işi göstərir. Tarixlər bərabərdirsə, equals doğru qaytarır. Əgər bunlar yoxdursa, bərabərlər yanlış qaytarır.

    System.out.print (date1.equals (date3)); // doğru yazır System.out.print (date1.equals (date2)); // false yazır

Metod 3 /4: Təqvim Sinifindən istifadə

4301351 8
4301351 8

Addım 1. Təqvimdən istifadə edin

Təqvim sinfi, tarix sinfi üçün yuxarıda təsvir edildiyi kimi eyni şəkildə işləyən, sonra və əvvəl müqayisəli metodlara malikdir. Tarix məlumatları bir təqvimdə saxlanılırsa, yalnız müqayisə aparmaq üçün tarixi çıxarmağa ehtiyac yoxdur.

4301351 9
4301351 9

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

Təqvim metodlarından istifadə etmək üçün bir neçə Təqvim nümunəsinə ehtiyacınız olacaq. Xoşbəxtlikdən, artıq yaradılmış Tarix nümunələrindən vaxtları tuta bilərsiniz.

    Təqvim cal1 = Calendar.getInstance (); // cal1 təqvim elan edir cal2 = Calendar.getInstance (); // cal2 elan edir Təqvim cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) elan edir; // tarixi cal1 cal2.setTime (date2) üçün tətbiq edir; cal3.setTime (tarix3);

4301351 10
4301351 10

Addım 3. Daha əvvəl istifadə edərək cal1 və cal2 müqayisə edin

Cal1 cal2 -dən əvvəl olduğundan aşağıdakı kod doğru yazılmalıdır.

    System.out.print (cal1.forefore (cal2)); // doğru yazacaq

4301351 11
4301351 11

Addım 4. Cal1 və cal2 -ni sonra istifadə edərək müqayisə edin

Cal1 cal2 -dən əvvəl olduğundan aşağıdakı kod yanlış yazmalıdır.

    System.out.print (cal1.after (cal2)); // yalan yazır

4301351 12
4301351 12

Addım 5. Cal1 və cal2 -ni bərabərlərdən istifadə edərək müqayisə edin

Aşağıdakı kod həm həqiqi, həm də yalançı bir vəziyyətin nümunəsini göstərəcəkdir. Vəziyyət müqayisə olunan təqvim nümunələrindən asılıdır. Kod növbəti sətirdə "doğru", sonra "yanlış" yazmalıdır.

    System.out.println (cal1.equals (cal3)); // doğru yazdırır: cal1 == cal3 System.out.print (cal1.equals (cal2)); // yanlış yazır: cal1! = cal2

Metod 4 /4: GetTime istifadə edin

4301351 13
4301351 13

Addım 1. GetTime istifadə edin

Əvvəlki yanaşmalardan hər hansı birinin daha oxunaqlı olması və buna görə daha çox üstünlük verilsə də, iki tarixin vaxt nöqtəsini birbaşa müqayisə etmək də mümkündür. Bu iki ibtidai məlumat növünün müqayisəsi olacaq, buna görə də "" və "==" ilə edilə bilər.

4301351 14
4301351 14

Addım 2. Uzun müddət işləyən obyektlər yaradın

Tarixləri müqayisə etməzdən əvvəl, əvvəllər yaradılmış Tarix obyektlərinin məlumatları ilə uzun tam ədədlər yaratmalısınız. Xoşbəxtlikdən, getTime () metodu sizin üçün çox iş görəcək.

    uzun zaman1 = getTime (tarix1); // ibtidai zaman1 -i tarixdən uzun müddət1 uzun müddət2 = getTime (tarix2) elan edir; // ibtidai vaxtı2 tarixdən etibarən2 elan edir

4301351 15
4301351 15

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

Bu iki tam ədədləri müqayisə etmək üçün simvoldan (<) az istifadə edin. Zaman1 vaxt 2 -dən az olduğundan ilk mesaj çap olunmalıdır. Else ifadəsi düzgün sintaksis üçün daxil edilmişdir.

    if (zaman1 <zaman2) {System.out.println ("tarix1 tarixdən əvvəl 2"); // vaxt1 -dən bəri yazılacaq <zaman2} başqa {System.out.println ("date1, date2 -dən əvvəl deyil"); }

4301351 16
4301351 16

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

Bu iki tam ədədləri müqayisə etmək üçün simvoldan böyük (>) istifadə edin. Zaman1 vaxt 2 -dən böyük olduğundan ilk mesaj çap olunmalıdır. Else ifadəsi düzgün sintaksis üçün daxil edilmişdir.

    if (zaman2> zaman1) {System.out.println ("date2 tarixdən sonra 1"); // time2> time1} başqa {System.out.println ("date2 tarixdən 1 deyil") sonra yazdırılacaq; }

4301351 17
4301351 17

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

Bərabərliyi yoxlamaq üçün simvoldan istifadə edin (==) bərabərlik üçün bu iki tam ədədləri müqayisə edin. Zaman1 vaxt3 -ə bərabər olduğu üçün ilk mesaj çap olunmalıdır. Proqram else ifadəsinə girərsə, bu zamanların bərabər olmadığı anlamına gəlir.

    if (time1 == time2) {System.out.println ("tarixlər bərabərdir"); } başqa {System.out.println ("tarixlər bərabər deyil"); // vaxt1 -dən bəri çap olunacaq! = zaman2}

Tövsiyə: