Salīdziniet datumus Java valodā

Autors: Roger Morrison
Radīšanas Datums: 24 Septembris 2021
Atjaunināšanas Datums: 1 Jūlijs 2024
Anonim
Java Tech Talk: telegrammas bot uz java 1 stundu
Video: Java Tech Talk: telegrammas bot uz java 1 stundu

Saturs

Ir vairāki veidi, kā salīdzināt datumus Java valodā. Iekšēji datums tiek attēlots kā (garš) laika punkts - milisekunžu skaits, kas pagājis kopš 1970. gada 1. janvāra. Java valodā datums ir objekts Datums, kas nozīmē, ka tajā ir vairākas datumu salīdzināšanas metodes. Jebkura divu datumu salīdzināšanas metode būtībā salīdzinās abu datumu pagājušo laiku.

Lai soli

1. metode no 4: izmantojot komandu "salīdzināt"

  1. Izmantojiet salīdzināt Datums ievieš ComparableDate>, un tāpēc divus datumus var tieši salīdzināt savā starpā, izmantojot salīdzināšanas metodi. Ja datumi norāda to pašu laika brīdi, metode atgriezīs nulli. Ja salīdzināmais datums ir pirms argumenta datums, tiks atgriezta negatīva vērtība. Ja salīdzināmais datums ir vēlāks par datuma argumenta datumu, tiks atgriezta pozitīva vērtība. Ja datumi ir vienādi, tiks atgriezta nulle.
  2. Izveidojiet objektus Datums. Pirms sākat tos salīdzināt, jums būs jāizveido katrs datuma objekts. Viens veids, kā to izdarīt, ir klases SimpleDateFormat piemērošana. Tas ļauj objektos Datums ērti ievadīt datumus.

      SimpleDateFormat sdf = jauns SimpleDateFormat ("gggg-MM-dd"); // Vērtību deklarēšanai jaunā datuma objektos.Izveidojot datumus, izmantojiet to pašu datuma formātu. Date date1 = sdf.parse ("1995-02-23"); // date1 ir 1995. gada 23. februāris Date date2 = 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

  3. Salīdziniet datuma objektus. Zemāk parādīts katrs gadījums - mazāks par, vienāds ar un lielāks par.

      datums1.compareTo (datums2); // date1 date2, mazāks par 0 date2.compareTo (date1); // date2> date1, atgriež vērtību, kas lielāka par 0 date1.compareTo (date3); // date1 = date3, atgriež 0

2. metode no 4: izmantojot metodes "vienāds, pēc un pirms"

  1. Izmantojiet vienādu, pēc un pirms. Datumus var salīdzināt savā starpā, izmantojot vienādas, pēc un pirms metodes. Ja divi datumi norāda vienādu laiku, vienāda metode atgriezīs vērtību “true”. Piemēri izmanto iepriekš izveidotos datumus, izmantojot salīdzināšanas metodi.
  2. Salīdziniet, izmantojot metodi iepriekš. Zemāk redzamais kods parāda patiesu un nepatiesu gadījumu. Ja date1 ir agrāks par date2, rezultāts ir patiess. Ja nē, pirms atgriež false.

      System.out.print (date1.before (date2)); // drukāt true System.out.print (date2.before (date2)); // drukāt nepatiesu

  3. Salīdziniet to ar metodi after. Zemāk redzamais kods parāda patiesu un nepatiesu gadījumu. Ja date2 ir vēlāk nekā date1, tad pēc atgriežas true. Ja nē, pēc atgriešanās nepatiesa.

      System.out.print (date2.after (date1)); // drukāt true System.out.print (date1.after (date2)); // drukāt nepatiesu

  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 atgriež true. Ja nē, vienāds atgriež false.

      System.out.print (date1.equals (date3)); // drukāt true System.out.print (date1.equals (date2)); // drukāt nepatiesu

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

  1. Izmantojiet kalendāra klasi. Klasei Kalendārs ir arī metodes salīdzināt, vienāds, pēc un pirms, kas darbojas tāpat kā iepriekš aprakstīts datumu klasei. Tātad, ja datuma dati tiek glabāti kalendārā, nav nepieciešams izvilkt "datumu", tikai salīdzināt divus datumus.
  2. Izveidot kalendāra instanci. Lai izmantotu Kalendāra metodes, nepieciešamas dažas Kalendāra instances. Par laimi, jūs varat izmantot laiku, ko ģenerē datuma instances.

      Kalendārs cal1 = Calendar.getInstance (); // deklarē cal1 Kalendārs cal2 = Calendar.getInstance (); // deklarē cal2 Kalendārs cal3 = Calendar.getInstance (); // deklarē cal3 cal1.setTime (date1); // attiecas uz datumu cal1 cal2.setTime (date2); cal3.setTime (datums3);

  3. Salīdziniet cal1 un cal2, izmantojot iepriekš. Zemāk redzamais kods atgriež vērtību true, jo cal1 ir agrāk nekā cal2.

      System.out.print (cal1.before (cal2)); // druka taisnība

  4. Salīdziniet cal1 un cal2, izmantojot aiz. Zemāk redzamais kods atgriež false, jo cal1 ir agrāk nekā cal2.

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

  5. Salīdziniet cal1 un cal2, izmantojot vienādus. Zemāk redzamais kods parāda gan patiesu, gan nepatiesu piemēru. Nosacījums ir atkarīgs no salīdzinātajiem kalendāra gadījumiem. Zemāk redzamais kods nākamajā rindā atgriež "true" un pēc tam "false".

      System.out.println (cal1.equals (cal3)); // druka true: cal1 == cal3 System.out.print (cal1.equals (cal2)); // drukāt nepatiesu: cal1! = cal2

4. metode no 4: metodes "getTime" izmantošana

  1. Izmantojiet getTime. Ir iespējams arī tieši salīdzināt divus laika punktus, lai gan jebkura no iepriekšminētajām pieejām, visticamāk, sniegs labāk lasāmus rezultātus, un tāpēc tā ir priekšroka. Šis ir divu primitīvu datu tipu salīdzinājums, tāpēc to var izdarīt ar "", ">" un "==".
  2. Izveidojiet "ilgtermiņa" objektus. Pirms datumu salīdzināšanas jums jāizveido garie veseli skaitļi no iepriekš izveidoto objektu Datums datiem. Par laimi, metode getTime () veiks lielāko daļu darba jūsu vietā.

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

  3. Izmantojiet vienādojumu "mazāk nekā". Izmantojiet simbolu "mazāk nekā" (), lai salīdzinātu šīs divas veselu skaitļu vērtības. Tā kā laiks1 ir mazāks par laiku2, pirmais ziņojums ir jādrukā uz ekrāna. Pareizā sintaksei ir iekļauts cits paziņojums.

      if (laiks1 laiks2) {System.out.println ("datums1 ir agrāks par datumu2"); // drukāt, jo laiks1 laiks2} cits {System.out.println ("datums1 ir vēlāks vai vienāds ar datumu2"); }

  4. Veiciet salīdzinājumu "lielāks par". Izmantojiet simbolu "lielāks par" (>), lai salīdzinātu šos divus skaitļus. Tā kā laiks1 ir lielāks par laiku2, ekrānā tiek drukāts pirmais ziņojums. Pareizā sintaksei ir iekļauts cits paziņojums.

      if (laiks2> laiks1) {System.out.println ("datums2 nāk pēc datuma1"); // drukāt, jo laiks2> laiks1} cits {System.out.println ("datums2 ir agrāks vai vienāds ar datumu1"); }

  5. Veiciet "vienāds ar" salīdzinājumu. Izmantojiet simbolu (==), lai salīdzinātu šos divus skaitļus. Tā kā laiks1 ir vienāds ar laiku3, pirmais ziņojums ir jādrukā. Ja programma nonāk citā paziņojumā, 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"); // drukāt, jo laiks1! = laiks2}