4 veidi, kā salīdzināt divus datumus Java

Satura rādītājs:

4 veidi, kā salīdzināt divus datumus Java
4 veidi, kā salīdzināt divus datumus Java

Video: 4 veidi, kā salīdzināt divus datumus Java

Video: 4 veidi, kā salīdzināt divus datumus Java
Video: ELK: Elasticsearch, logstash, beats (Часть 1) / Java Tech Talk 2024, Decembris
Anonim

Ir daudz veidu, kā salīdzināt divus datumus Java programmēšanas valodā. Datoros datums tiek attēlots ar skaitli (datu tips Long) laika vienībās - tas ir, milisekundes, kas pagājušas kopš 1970. gada 1. janvāra. Programmā Java datums ir objekts, kas nozīmē, ka tam ir vairākas metodes salīdzināšanai. Jebkura divu datumu salīdzināšanas metode būtībā ir abu datumu laika vienību salīdzināšana.

Solis

1. metode no 4: salīdzināšanas izmantošana

4301351 1
4301351 1

1. darbība. Izmantojiet salīdzinājumu

Datuma objekts ievieš salīdzināmus, tāpēc 2 datumus var salīdzināt viens ar otru tieši ar salīdzināšanas metodi. Ja abos datumos laika vienībās ir vienāds skaitlis, tad metode atgriež nulli. Ja otrais datums ir mazāks par pirmo, tiek atgriezta vērtība, kas mazāka par nulli. Ja otrais datums ir lielāks par pirmo, metode atgriež vērtību, kas lielāka par nulli. Ja abi datumi ir vienādi, metode atgriež nulles vērtību.

4301351 2
4301351 2

2. solis. Izveidojiet vairākus datuma objektus

Pirms to salīdzināšanas ir jāizveido vairāki datuma objekti. Viens no vienkāršākajiem veidiem, kā to izdarīt, ir izmantot klasi SimpleDateFormat. Šī klase atvieglo ievades datuma vērtības pārvēršanu datuma objektā.

    SimpleDateFormat sdf = jauns SimpleDateFormat ("gggg-MM-dd"). Lai deklarētu vērtību jaunā objekta datumā, veidojot datumu, izmantojiet to pašu datuma formātu. Datums datums1 = sdf.parse ("1995-02-23"); // datums1 ir 1995. gada 23. februāris Datums datums2 = sdf.parse ("2001-10-31"); // datums2 ir 2001. gada 31. oktobris Datums datums3 = sdf.parse ("1995-02-23"); // datums3 ir 1995. gada 23. februāris

4301351 3
4301351 3

Solis 3. Salīdziniet datuma objektus

Šis kods parādīs piemērus katram gadījumam - mazāks par, vienāds un lielāks par.

    date1.compareTo (datums2); // datums1 <datums2, atgriež vērtību, kas ir mazāka par 0 date2.compareTo (datums1); // datums2> datums1, atgriež vērtību, kas lielāka par 0 date1.compareTo (date3); // datums1 = datums3, tāpēc konsolē tiks izvadīts 0

2. metode no 4: izmantojot vienādus, pēc un pirms

4301351 4
4301351 4

1. solis. Izmantojiet vienādus, pēc un pirms

Datumus var salīdzināt, izmantojot vienādas, pēc un pirms metodes. Ja diviem datumiem ir vienāda laika vērtība, metode vienāds ar atgriež patiesu. Šajā piemērā tiks izmantots salīdzināšanas metodes metodē izveidotais objekts Datums.

4301351 5
4301351 5

2. solis. Salīdziniet ar iepriekšējo metodi

Šis kods parāda gadījuma piemēru, kas atgriež patiesu un nepatiesu. Ja datums1 ir datums pirms datuma2, metode pirms atgriež patieso. Pretējā gadījumā metode pirms atgriež nepatiesu.

    System.out.print (date1.before (date2)); // parādīt vērtību '' true '' System.out.print (date2.before (date2)); // atgriež vērtību "false"

4301351 6
4301351 6

Solis 3. Salīdziniet, izmantojot metodi pēc

Šis kods parāda gadījuma piemēru, kas atgriež patiesu un nepatiesu. Ja datums2 ir datums pēc datuma1, metode pēc tiek atgriezta patiesa. Pretējā gadījumā metode pēc atgriezīsies nepatiesa.

    System.out.print (date2.after (date1)); // parādīt vērtību "true" System.out.print (date1.after (date2)); // parādīt vērtību "false"

4301351 7
4301351 7

Solis 4. Salīdziniet ar vienādu metodi

Šis kods parāda gadījuma piemēru, kas atgriež patiesu un nepatiesu. Ja abi datumi ir vienādi, vienādības metode atgriež patieso. Pretējā gadījumā metode vienāds ar atgriež nepatiesu.

    System.out.print (date1.equals (date3)); // parādīt vērtību "true" System.out.print (date1.equals (date2)); // parādīt vērtību "false"

3. metode no 4: Klases kalendāra izmantošana

4301351 8
4301351 8

1. darbība. Izmantojiet klases kalendāru

Klasei Kalendārs ir arī metodes salīdzināt līdz, vienādas, pēc un pirms metodes, kas darbojas tāpat kā tās, kas aprakstītas iepriekš klasei Datums. Tātad, ja datuma informācija tiek glabāta klases kalendārā, jums nav jāizņem datums, lai veiktu salīdzinājumu.

4301351 9
4301351 9

2. solis. Izveidojiet kalendāra gadījumu

Lai izmantotu metodes klases kalendārā, jums ir jāizveido vairāki kalendāra gadījumi. Par laimi, jūs varat izmantot vērtības no iepriekš izveidotas datuma instances.

    Kalendārs cal1 = Calendar.getInstance (); // deklarēt cal1 Kalendārs cal2 = Calendar.getInstance (); // deklarēt cal2 Kalendārs cal3 = Calendar.getInstance (); // deklarēt cal3 cal1.setTime (datums1); // ielieciet datumu cal1 cal2.setTime (date2); cal3.setTime (datums3);

4301351 10
4301351 10

Solis 3. Salīdziniet cal1 un cal2, izmantojot iepriekšējo metodi

Šis kods izvadīs tr vērtību

    System.out.print (cal1.before (cal2)); // atgriezīs vērtību "true"

4301351 11
4301351 11

Solis 4. Salīdziniet cal1 un cal2, izmantojot metodi after

Šis kods atgriezīs nepatiesu, jo cal1 ir datums pirms cal2.

    System.out.print (cal1.after (cal2)); // atgriež vērtību "false"

4301351 12
4301351 12

Solis 5. Salīdziniet cal1 un cal2, izmantojot vienādu metodi

Šis kods parādīs gadījuma piemēru, kas atgriež patiesu un nepatiesu. Stāvoklis ir atkarīgs no salīdzināmās kalendāra instances. Šis kods atgriezīs vērtību "true", pēc tam "false" nākamajā rindā.

    System.out.println (cal1.equals (cal3)); // atgriezt vērtību '' true '': cal1 == cal3 System.out.print (cal1.equals (cal2)); // atgriež vērtību '' false '': cal1! = cal2

4. metode no 4: getTime izmantošana

4301351 13
4301351 13

1. darbība. Izmantojiet getTime

Varat arī tieši salīdzināt divu datumu laika vienību vērtības, lai gan iepriekšējās divas metodes var būt vieglāk lasāmas un vēlamākas. Tādā veidā jūs salīdzināsit 2 primitīvus datu veidus, lai varētu izmantot operandus "" un "==".

4301351 14
4301351 14

2. solis. Izveidojiet laika objektu garu skaitļu formātā

Lai varētu salīdzināt datumus, no iepriekš izveidotā datuma objekta ir jāizveido garais vesels skaitlis. Par laimi, metode getTime () to darīs jūsu vietā.

    ilgs laiks1 = getTime (datums1); // deklarēt datuma primitīvo laiku1 ilgu laiku2 = getTime (datums2); // deklarēt datuma2 primitīvo laiku2 vērtību

4301351 15
4301351 15

3. solis. Veiciet mazāku salīdzinājumu

Izmantojiet operandu, kas mazāks par (<), lai salīdzinātu šīs divas veselas skaitļa vērtības. Tā kā laiks1 ir mazāks par laiku2, parādīsies pirmais ziņojums. Cits paziņojums ir iekļauts, lai pabeigtu sintaksi.

    if (laiks1 <laiks2) {System.out.println ("datums1 ir datums pirms datuma2"); // tiks rādīts, jo laiks1 <laiks2} cits {System.out.println ("datums1 nav datums pirms datuma2"); }

4301351 16
4301351 16

4. solis. Veiciet lielāku salīdzinājumu

Izmantojiet operandu, kas lielāks par (>), lai salīdzinātu šīs divas veselas skaitļa vērtības. Tā kā laiks1 ir lielāks par laiku2, parādīsies pirmais ziņojums. Cits paziņojums ir iekļauts, lai pabeigtu sintaksi.

    ja (laiks2> laiks1) {System.out.println ("datums2 ir datums pēc datuma1"); // tiks rādīts, jo laiks2> laiks1} cits {System.out.println ("datums2 nav datums pēc datuma1"); }

4301351 17
4301351 17

5. solis. Veiciet vienādu salīdzinājumu

Izmantojiet operanda funkciju, lai pārbaudītu vērtību vienādību (==), lai salīdzinātu šos divus veselos skaitļus. Tā kā laiks1 ir vienāds ar laiku3, parādīsies pirmais ziņojums. Ja programmas plūsma nonāk citā paziņojumā, tas nozīmē, ka abām reizēm nav vienādas vērtības.

    if (laiks1 == laiks2) {System.out.println ("abi datumi ir vienādi"); } else {System.out.println ("Pirmais nav tas pats, kas otrais"); // tiks rādīts, jo laiks1! = laiks2}

Ieteicams: