Cum se compară două date în Java

Există mai multe moduri de a compara două date în Java. O dată este reprezentată intern ca un punct în timp de tip lung

: numărul de milisecunde care au trecut de la 1 ianuarie 1970. În Java, Date (în limba spaniolă, "data") este un obiect, ceea ce înseamnă că include mai multe metode pentru a face comparații. Orice metodă de comparare a două date va compara în mod esențial timpul acelor date.

pași

Metoda 1
utilizare compareTo

Imaginea intitulată 4301351 1
1
utilizări compareTo. Clasa data ustensile comparabil, prin urmare, puteți compara două date direct cu metoda compareTo. Dacă datele reprezintă același punct în timp, metoda va returna un zero. Dacă data pe care o veți compara este înaintea argumentului data, metoda va returna o valoare mai mică decât zero. Dacă data pe care o veți compara este după argument data, metoda va returna o valoare mai mare decât zero. Dacă datele sunt aceleași, metoda va returna un zero.
  • Imaginea intitulată 4301351 2
    2
    Creați obiecte de tip data. Va trebui să creați fiecare obiect data înainte de a începe să comparați datele. O modalitate de a face acest lucru este utilizarea clasei SimpleDateFormat. Cu aceasta puteți introduce cu ușurință valori de dată în obiecte de tip data.
    SimpleDateFormat sdf = nou SimpleDateFormat ("aaaa-ll-zz") - // Pentru a declara valori în noi obiecte de dată, utilizați același format de dată pe care l-ați utilizat la crearea datelor Data date1 = sdf.parse ("1995-02-23") - // data1 este 23 februarie 1995 Data date2 = sdf.parse ("2001-10-31") - // data2 este 31 octombrie 2001Dată dată3 = sdf.parse ("1995-02-23") - // data3 este pe 23 februarie 1995
  • Imaginea intitulată 4301351 3
    3
    Comparați obiectele data. Codul care apare mai jos vă va arăta fiecare caz (mai mic, egal și mai mare decât).
    date1.compareTo (data2) - // date1 < data2, returnează o valoare mai mică decât 0date2.compareTo (date1) - // date2 > data1, returnează o valoare mai mare decât 0date1.compareTo (date3) - // date1 = data3, un 0 va fi afișat în consola
  • Metoda 2
    utilizare este egală, după și înainte

    Imaginea intitulată 4301351 4
    1
    utilizări este egală, după și înainte. Datele pot fi comparate cu metodele este egală (Egal), după (după) și înainte (Înainte). Dacă două date reprezintă același punct în timp, metoda este egală va reveni adevărat (Adevărat). Aceste exemple vor folosi datele create anterior pentru metodă compareTo.
  • Imaginea intitulată 4301351 5
    2
    Comparați utilizând metoda înainte. Următorul cod arată un caz adevărat și unul fals. dacă DATE1 este înainte DATE2, înainte va reveni adevărat. Altfel, se va întoarce fals.
    System.out.print (date1.before (DATE2)) - // afișează true (adevărat) System.out.print (date2.before (DATE2)) - // returnează false (false)
  • Imagine cu denumirea 4301351 6
    3
    Comparați utilizând metoda după. Următorul cod arată un caz adevărat și unul fals. dacă DATE2 este după DATE1, după va reveni adevărat. Altfel, se va întoarce fals.
    System.out.print (data2.after (date1)) - // afiseaza true (true) System.out.print (data1.after (date2)) - // afiseaza false (false)
  • Imaginea intitulată 4301351 7
    4
    Comparați utilizând metoda este egală. Următorul cod arată un caz adevărat și unul fals. Dacă datele sunt aceleași, este egală va reveni adevărat. Dacă nu sunt, se va întoarce fals.
    System.out.print (date1.equals (DATE3)) - // afișează adevărat (true) System.out.print (date1.equals (DATE2)) - // returnează false (false)
  • Metoda 3
    Utilizați clasa calendar

    Imaginea intitulată 4301351 8
    1
    Utilizați clasa calendar. Clasa calendar el are, de asemenea, metodele compareTo, este egală, după și înainte care lucrează în același mod ca cel descris mai sus pentru clasă data. Apoi, dacă informațiile sunt stocate într-un obiect calendar, nu este nevoie să extrageți data doar pentru a face o comparație.
  • Imaginea intitulată 4301351 9
    2


    Creați instanțe de calendar. Pentru a utiliza metodele calendar, va trebui să creați câteva exemple din această clasă. Din fericire, puteți lua doar datele de instanțe data ceea ce ați creat înainte
    Calendar cal1 = Calendar.getInstance () - // declararea cal1Calendar CAL2 = Calendar.getInstance () - // declararea cal2Calendar CAL3 = Calendar.getInstance () - // declararea cal3cal1.setTime (DATE1) - // Se aplică la cal1cal2 dată. setTime (DATE2) -cal3.setTime (DATE3) -
  • Imaginea intitulată 4301351 10
    3
    comparație cal1 și CAL2 utilizând înainte. Ar trebui să apară următorul cod adevărat ca cal1 este înainte CAL2.
    System.out.print (cal1.before (cal2)) - // va afișa true (true)
  • Imaginea intitulată 4301351 11
    4
    comparație cal1 și CAL2 utilizând după. Ar trebui să apară următorul cod fals ca cal1 este înainte CAL2.
    System.out.print (cal1.after (cal2)) - // va afișa mesajul false (false)
  • Imagine cu denumirea 4301351 12
    5
    comparație cal1 și CAL2 utilizând este egală. Următorul cod arată un exemplu adevărat și unul fals. Condiția depinde de situațiile în care este comparat calendarul. Codul ar trebui să apară adevărat și apoi fals în următorul rând.
    Println (cal1.equals (CAL3)) - // adevarat spectacol (true) == cal1 cal3System.out.print (cal1.equals (CAL2)) - // arată fals (false): CAL1 =! CAL2
  • Metoda 4
    utilizare getTime

    Imagine cu denumirea 4301351 13
    1
    utilizări getTime. De asemenea, puteți compara datele direct din momentul în timp reprezentând acele date, cu toate acestea, ar fi mai bine să utilizați metodele anterioare, deoarece acestea sunt mai ușor de citit și, prin urmare, sunt mai convenabile. Această comparație se va face cu două tipuri de date primitive, de aceea puteți să o faceți <, > și ==.
  • Imagine cu denumirea 4301351 14
    2
    Creați obiecte de timp tip lung. Înainte de a putea compara datele, trebuie să creați obiecte întregi de tip lung cu datele obiectelor data ce ai creat Din fericire, metoda getTime El va face munca pentru tine.
    lung time1 getTime = (date1) - // declara primitive variind de la date1long ora2 time1 = getTime (DATE2) - // declara primitive variind de la DATE2 ora2
  • Imaginea intitulată 4301351 15
    3
    Faceți o comparație a tipului "mai puțin decât". Utilizați simbolul "mai puțin decât" (<) pentru a compara aceste două valori întregi. ca time1 este mai mică decât ora2, Primul mesaj trebuie afișat. Propoziția altfel este inclusă în scopul aplicării unei sintaxe adecvate.
    dacă (timp1 < time2) {System.out.println ("data1 este înainte de data2") - // acest mesaj va fi afișat deoarece timpul1 
  • Imagine cu denumirea 4301351 16
    4
    Faceți o comparație a tipului "mai mare decât". Utilizați simbolul "mai mare decât" (>) pentru a compara aceste două valori întregi. ca time1 este mai mare decât ora2, Primul mesaj trebuie afișat. Propoziția altfel este inclusă în scopul aplicării unei sintaxe adecvate.
    dacă (timp2 > time1) {System.out.println ("data2 este după data1") - // acest mesaj va fi afișat deoarece timpul2 > time1} altceva {System.out.println ("data 2 nu este ulterioară1") -}
  • Imaginea intitulată 4301351 17
    5
    Faceți o comparație a tipului "ca". Utilizați simbolul de verificare a egalității (==) pentru a compara aceste două valori întregi. ca time1 este la fel ca ora2, Primul mesaj trebuie afișat. Dacă programul atinge propoziția altfel, înseamnă că datele nu sunt la fel.
    dacă (time1 == time2) {System.out.println ("datele sunt aceleași") -} altceva {System.out.println ("datele nu sunt aceleași") - // acest mesaj va fi afișat deoarece time1! = time2}
  • Distribuiți pe rețelele sociale:

    înrudit
    Modificarea formatului de date în ExcelModificarea formatului de date în Excel
    Cum se închide o fereastră Java în SwingCum se închide o fereastră Java în Swing
    Cum se compară datele în ExcelCum se compară datele în Excel
    Cum se compară caracterele de caractere din JavaCum se compară caracterele de caractere din Java
    Cum se creează o bază de date de inventar în AccessCum se creează o bază de date de inventar în Access
    Cum se creează o tabelă în MySQLCum se creează o tabelă în MySQL
    Cum să ștergeți o bază de date MySQLCum să ștergeți o bază de date MySQL
    Cum se scrie un program în Java pentru a calcula mediaCum se scrie un program în Java pentru a calcula media
    Cum se generează clase POJO și mapări XML cu Hibernate din bazele de dateCum se generează clase POJO și mapări XML cu Hibernate din bazele de date
    Cum se face un joc de piatră, hârtie și foarfece în JavaCum se face un joc de piatră, hârtie și foarfece în Java
    » » Cum se compară două date în Java

    © 2011—2020 ertare.com