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: Создавайте удивительные обложки для книжек-раскрасок KDP БЫСТРО 2024, Aprīlis
Anonim

Ir dažādi veidi, kā salīdzināt Java datumus. Iekšēji datums tiek attēlots kā (garš) laika punkts - milisekundžu skaits, kas pagājis kopš 1970. gada 1. janvāra. Programmā Java datums ir objekts, kas nozīmē, ka tas ietver vairākas salīdzināšanas metodes. Jebkura divu datumu salīdzināšanas metode būtībā salīdzinās datumu laikus.

Soļi

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

4301351 1
4301351 1

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

Datums tiek īstenots Salīdzināms, tāpēc divus datumus var tieši salīdzināt ar salīdzināšanas metodi. Ja datumi attiecas uz vienu un to pašu laika periodu, metode atgriež nulli. Ja salīdzināmais datums ir pirms datuma argumenta, tiek atgriezta vērtība, kas mazāka par nulli. Ja salīdzināmais datums ir aiz datuma argumenta, tiek atgriezta vērtība, kas lielāka par nulli. Ja datumi ir vienādi, tiek atgriezta vērtība 0.

4301351 2
4301351 2

2. solis. Izveidojiet datuma objektus

Jums būs jāizveido katrs datuma objekts, lai varētu sākt to salīdzināšanu. Viens veids, kā to izdarīt, ir izmantot klasi SimpleDateFormat. Tas ļauj viegli ievadīt datuma vērtības datuma objektos.

    SimpleDateFormat sdf = jauns SimpleDateFormat ("gggg-MM-dd"); // Vērtību deklarēšanai jaunos datuma objektos. izmantojiet to pašu datuma formātu, veidojot datumus Date date1 = 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

Zemāk redzamais kods parādīs katru gadījumu - mazāku par, vienādu un lielāku par.

    date1.compareTo (datums2); // datums1 <datums2, atgriež mazāk par 0 date2.compareTo (datums1); // datums2> datums1, atgriež lielāku par 0 date1.compareTo (datums3); // datums1 = datums3, tāpēc konsolei tiks izdrukāts 0

2. metode no 4: vienādu, pēc un pirms izmantošana

4301351 4
4301351 4

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

Datumus var salīdzināt ar vienādiem, pēc un pirms metodēm. Ja divi datumi attiecas uz vienu un to pašu laika periodu, metode “vienāds” atgriezīs patieso. Piemēri izmantos iepriekš izveidotos datumus no salīdzināšanas metodes.

4301351 5
4301351 5

Solis 2. Salīdziniet, izmantojot iepriekšējo metodi

Zemāk redzamais kods parāda patiesu un nepatiesu gadījumu. Ja datums1 ir pirms datuma2, pirms atgriež vērtību true. Ja tā nav, pirms atgriežas nepatiesa.

    System.out.print (date1.before (date2)); // izdrukā patieso System.out.print (date2.before (date2)); // drukā viltus

4301351 6
4301351 6

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

Zemāk redzamais kods parāda patiesu un nepatiesu gadījumu. Ja datums2 ir pēc datuma1, pēc atgriež vērtību true. Ja tā nav, pēc atgriežas nepatiesa.

    System.out.print (date2.after (date1)); // izdrukā true System.out.print (date1.after (date2)); // izdrukā false

4301351 7
4301351 7

Solis 4. Salīdziniet, izmantojot vienādu metodi

Zemāk redzamais kods parāda patiesu un nepatiesu gadījumu. Ja datumi ir vienādi, vienāds ar vienādu atgriež patiesu. Ja tie nav, vienāds ar atgriež nepatiesu.

    System.out.print (date1.equals (date3)); // izdrukā true System.out.print (date1.equals (date2)); // izdrukā false

3. metode no 4: Kalendāra klases izmantošana

4301351 8
4301351 8

1. darbība. Izmantojiet kalendāru

Kalendāra klasei ir arī salīdzināšanas metodes, kas ir vienādas, pēc un pirms metodes, kas darbojas tādā pašā veidā, kā aprakstīts iepriekš datumu klasei. Tātad, ja datuma informācija tiek glabāta kalendārā, nav nepieciešams izvilkt datumu tikai salīdzinājuma veikšanai.

4301351 9
4301351 9

2. solis. Izveidojiet kalendāra gadījumus

Lai izmantotu kalendāra metodes, jums būs nepieciešami daži kalendāra gadījumi. Par laimi, jūs varat vienkārši iegūt laiku no jau izveidotajiem datuma gadījumiem.

    Kalendārs cal1 = Calendar.getInstance (); // deklarē cal1 Kalendārs cal2 = Calendar.getInstance (); // deklarē cal2 Kalendārs cal3 = Calendar.getInstance (); // deklarē cal3 cal1.setTime (datums1); // attiecas datums uz cal1 cal2.setTime (datums2); cal3.setTime (datums3);

4301351 10
4301351 10

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

Tālāk norādītajam kodam vajadzētu drukāt patiesu, jo cal1 ir pirms cal2.

    System.out.print (cal1.before (cal2)); // drukās patiesi

4301351 11
4301351 11

Solis 4. Salīdziniet cal1 un cal2, izmantojot pēc

Zemāk esošajam kodam vajadzētu drukāt nepatiesu, jo cal1 ir pirms cal2.

    System.out.print (cal1.after (cal2)); // drukā viltus

4301351 12
4301351 12

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

Zemāk esošais kods parādīs gan patiesa, gan nepatiesa gadījuma piemēru. Nosacījums ir atkarīgs no salīdzināmiem kalendāra gadījumiem. Kodam nākamajā rindā vajadzētu uzdrukāt “true”, pēc tam “false”.

    System.out.println (cal1.equals (cal3)); // izdrukā true: cal1 == cal3 System.out.print (cal1.equals (cal2)); // drukā viltus: cal1! = cal2

4. metode no 4: getTime izmantošana

4301351 13
4301351 13

1. darbība. Izmantojiet getTime

Ir iespējams arī tieši salīdzināt divu datumu laiku, lai gan jebkura no iepriekšējām pieejām, visticamāk, būs lasāmāka un tik vēlama. Tas būs divu primitīvu datu veidu salīdzinājums, tāpēc to var izdarīt ar "" un "==".

4301351 14
4301351 14

2. solis. Izveidojiet ilgu laiku objektus

Lai varētu salīdzināt datumus, jāizveido gari veseli skaitļi ar iepriekš izveidoto datuma objektu datiem. Par laimi, getTime () metode lielāko daļu darba veiks jūsu vietā.

    ilgs laiks1 = getTime (datums1); // deklarē primitīvo laiku1 no datuma1 ilgs laiks2 = getTime (datums2); // deklarē primitīvo laiku2 no datuma2

4301351 15
4301351 15

Solis 3. Veiciet mazāk nekā salīdzinājumu

Izmantojiet simbolu, kas mazāks par (<), lai salīdzinātu šīs divas veselas skaitļa vērtības. Tā kā laiks1 ir mazāks par laiku 2, pirmais ziņojums ir jāizdrukā. Cits paziņojums ir iekļauts pareizai sintaksei.

    ja (laiks1 <laiks2) {System.out.println ("datums1 ir pirms datuma2"); // tiks drukāts kopš laika1 <laiks2} cits {System.out.println ("datums1 nav pirms datuma2"); }

4301351 16
4301351 16

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

Izmantojiet simbolu, kas lielāks par (>), lai salīdzinātu šīs divas veselas skaitļa vērtības. Tā kā laiks1 ir lielāks par laiku 2, pirmais ziņojums ir jāizdrukā. Cits paziņojums ir iekļauts pareizai sintaksei.

    ja (laiks2> laiks1) {System.out.println ("datums2 ir pēc datuma1"); // tiks drukāts kopš laika2> laiks1} cits {System.out.println ("datums2 nav pēc datuma1"); }

4301351 17
4301351 17

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

Izmantojiet simbolu, lai pārbaudītu vienlīdzību (==), lai salīdzinātu šīs divas veselas skaitļa vērtības. Tā kā laiks1 ir vienāds ar laiku3, pirmais ziņojums ir jāizdrukā. Ja programma nonāk pie paziņojuma else, tas nozīmē, ka laiki nav vienādi.

    if (laiks1 == laiks2) {System.out.println ("datumi ir vienādi"); } else {System.out.println ("datumi nav vienādi"); // tiks drukāts kopš laika1! = laiks2}

Ieteicams: