Java tarixlərini müqayisə edin

Müəllif: Roger Morrison
Yaradılış Tarixi: 24 Sentyabr 2021
YeniləMə Tarixi: 1 İyul 2024
Anonim
Java tarixlərini müqayisə edin - MəSləHəTləR
Java tarixlərini müqayisə edin - MəSləHəTləR

MəZmun

Java-da tarixləri müqayisə etməyin bir neçə yolu var. Daxili olaraq, bir tarix zamanın (uzun) bir nöqtəsi kimi təmsil olunur - 1 yanvar 1970-ci ildən bəri keçən milisaniyə sayı. Java-da tarix, Date obyektidir, yəni tarixləri müqayisə etmək üçün bir çox metod ehtiva edir. İki tarixi müqayisə etmək üçün hər hansı bir metod əsasən hər iki tarixin keçən vaxtını müqayisə edəcəkdir.

Addımlamaq

Metod 4-dən 1: "ComparTo" əmrindən istifadə

  1. ComparTo istifadə edin. Tarix ComparableDate> tətbiq edir və buna görə müqayisə metodundan istifadə edərək iki tarix birbaşa bir-biri ilə müqayisə edilə bilər. Tarixlər eyni anı göstərirsə, metod sıfıra dönəcəkdir. Müqayisə olunan tarix tarix mübahisəsindən əvvəl olarsa, mənfi dəyər qaytarılır. Müqayisə olunan tarix tarix mübahisəsindən daha gec bir tarixdirsə, müsbət dəyər qaytarılacaqdır. Tarixlər eyni olarsa, bir sıfır geri qaytarılacaqdır.
  2. Tarix obyektlərini yaradın. Müqayisə etməyə başlamazdan əvvəl hər bir tarix obyektini yaratmalısınız. Bunun bir yolu SimpleDateFormat sinifini tətbiq etməkdir. Bu, tarix obyektlərini tarixləri asanlıqla daxil etməyə imkan verir.

      SimpleDateFormat sdf = yeni SimpleDateFormat ("yyyy-MM-dd"); // Yeni tarix obyektlərində dəyərlərin elan edilməsi üçün.Tarixlər yaradarkən eyni tarix formatından istifadə edin Date date1 = sdf.parse ("1995-02-23"); // date1 23 Fevral 1995 tarixidir Date date2 = sdf.parse ("2001-10-31"); // date2 31 Oktyabr 2001 tarixidir Date date3 = sdf.parse ("1995-02-23"); // date3 23 Fevral 1995-dir

  3. Tarix obyektlərini müqayisə edin. Aşağıda hər bir hal göstərilir - az, bərabər və daha böyük.

      tarix1. müqayisə et (tarix2); // date1 date2, 0 date2-dən az.compareTo (date1); // date2> date1, 0 date1.compareTo (date3) -dən böyük qaytarır; // date1 = date3, 0 qaytarır

Metod 4-dən 2: "bərabərdir, sonra və əvvəl" metodlarından istifadə etmək

  1. Sonra və əvvəldən bərabər istifadə edin. Tarixlər bərabər, sonra və əvvəl metodlardan istifadə edərək bir-biri ilə müqayisə edilə bilər. İki tarix eyni vaxtı göstərirsə, bərabər metod "doğru" olaraq dönəcəkdir. Nümunələr müqayisə metodu vasitəsilə əvvəllər yaradılmış tarixlərdən istifadə edirlər.
  2. Əvvəlki metoddan istifadə edərək müqayisə edin. Aşağıdakı kod doğru və yalan vəziyyətini göstərir. Tarix1 tarixdən2 əvvəlsə, nəticə doğrudur. Olmazsa, əvvəl false qaytarır.

      System.out.print (date1.before (date2)); // true System.out.print yazdır (date2.before (date2)); // false yazdırın

  3. Bunu sonrakı metodla müqayisə edin. Aşağıdakı kod doğru və yalan vəziyyətini göstərir. Tarix2 tarix1-dən gecikirsə, sonra doğrudur. Əgər yoxsa, sonra false qaytarır.

      System.out.print (date2.after (date1)); // doğru yazmaq System.out.print (date1.after (date2)); // false yazdırmaq

  4. Bərabərləşdirmə metodundan istifadə edərək müqayisə edin. Aşağıdakı kod doğru və yalan vəziyyətini göstərir. Tarixlər eynidirsə, bərabərdir. Əks təqdirdə bərabər bərabərdir.

      System.out.print (date1.equals (date3)); // true yazdır System.out.print (date1.equals (date2)); // false yazdır

Metod 3-dən 3: Təqvim sinifindən istifadə

  1. Təqvim sinifindən istifadə edin. Təqvim sinfi, tarix sinfi üçün yuxarıda göstərilən şəkildə işləyən, müqayisə, sonra və əvvəl metodlarına bərabərdir. Beləliklə, tarix məlumatları təqvimdə saxlanılırsa, yalnız iki tarixi müqayisə etmək üçün "tarix" çıxarmaq lazım deyil.
  2. Təqvim nümunəsi yaradın. Təqvim metodlarından istifadə etmək üçün bəzi Təqvim nümunələrinə ehtiyacınız var. Xoşbəxtlikdən, vaxtı tarix nümunələrinin yaratdığı kimi istifadə edə bilərsiniz.

      Təqvim cal1 = Calendar.getInstance (); // cal1 Təqvim elan edir cal2 = Calendar.getInstance (); // cal2 təqvimini elan edir cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) elan edir; // cal1 cal2.setTime (date2) tarixini tətbiq edir; cal3.setTime (tarix3);

  3. Daha əvvəl cal1 və cal2 ilə müqayisə edin. Aşağıdakı kod doğrudur, çünki cal1 cal2-dən əvvəldir.

      System.out.print (cal1.bundan əvvəl (cal2)); // doğru yazdırın

  4. Sonra istifadə edərək cal1 və cal2 ilə müqayisə edin. Aşağıdakı kod yanlış olur, çünki cal1 cal2-dən daha erkəndir.

      System.out.print (cal1. After (cal2)); // false yazdırın

  5. Cal1 və cal2-ni bərabər istifadə edərək müqayisə edin. Aşağıdakı kod həm doğru, həm də yanlış nümunəsini göstərir. Vəziyyət Təqvim nümunələrinin müqayisə edilməsindən asılıdır. Aşağıdakı kod "true" və sonra növbəti sətirdə "false" qaytarır.

      System.out.println (cal1. bərabərdir (cal3)); // print true: cal1 == cal3 System.out.print (cal1.equals (cal2)); // false yazdır: cal1! = cal2

Metod 4-dən 4: "getTime" metodundan istifadə

  1. GetTime istifadə edin. İki vaxt nöqtəsini də birbaşa müqayisə etmək mümkündür, baxmayaraq ki, yuxarıda göstərilən yanaşmalardan hər hansı birinin daha çox oxunaqlı nəticələr verməsi və buna görə üstünlük verilməsi ehtimalı yüksəkdir. Bu iki ibtidai məlumat növünün müqayisəsidir, buna görə "", ">" və "==" ilə edilə bilər.
  2. "Uzun" vaxt obyektlərini yaradın. Tarixləri müqayisə etməzdən əvvəl əvvəllər yaradılmış Tarix obyektlərinin məlumatlarından uzun tam ədədlər yaratmalısınız. Xoşbəxtlikdən getTime () metodu sizin üçün işin çox hissəsini edəcəkdir.

      long time1 = getTime (date1); // tarix1 ibtidai vaxtını1 elan edir1 uzun müddət2 = getTime (tarix2); // tarixin2 ibtidai vaxtını2 elan edir

  3. "Daha az" tənliyindən istifadə edin. Bu iki tam dəyərləri müqayisə etmək üçün "az" işarəsini () istifadə edin. Zaman1 vaxt2-dən az olduğundan ilk mesaj ekranda çap olunmalıdır. Else ifadəsi düzgün sintaksis üçün daxil edilmişdir.

      əgər (vaxt1 vaxt2) {System.out.println ("tarix1 tarix2-dən tezdir"); // çap et çünki time1 time2} else {System.out.println ("date1 date2 tarixindən gec və ya bərabərdir"); }

  4. "Daha böyük" müqayisə aparın. Bu iki ədədi müqayisə etmək üçün "böyük" işarəsini (>) istifadə edin. Zaman1 vaxt2-dən böyük olduğu üçün ilk mesaj ekranda yazılır. Else ifadəsi düzgün sintaksis üçün daxil edilmişdir.

      əgər (time2> time1) {System.out.println ("date2 date1 tarixdən sonra gəlir"); // print çünki time2> time1} else {System.out.println ("date2 date1-dən əvvəl və ya ona bərabərdir"); }

  5. Bir "bərabər" müqayisə edin. Bu iki ədədi müqayisə etmək üçün (==) işarəsini istifadə edin. Zaman1 vaxt3-ə bərabər olduğundan ilk mesaj çap olunmalıdır. Proqram başqa bir ifadəyə girərsə, bu zamanların eyni olmadığını göstərir.

      if (time1 == time2) {System.out.println ("Tarixlər bərabərdir"); } else {System.out.println ("Tarixlər bərabər deyil"); // yazdır, çünki time1! = time2}