Krahasoni datat në Java

Autor: Roger Morrison
Data E Krijimit: 24 Shtator 2021
Datën E Azhurnimit: 1 Korrik 2024
Anonim
Billi ajgm
Video: Billi ajgm

Përmbajtje

Ka disa mënyra për të krahasuar datat në Java. Brenda saj, një datë përfaqësohet si një pikë (e gjatë) në kohë - numri i milisekondave që kanë kaluar që nga 1 janari 1970. Në Java, data është objekti Date, që do të thotë se përmban metoda të shumta për krahasimin e datave. Çdo metodë e krahasimit të dy datave në thelb do të krahasojë kohën e kaluar të të dy datave.

Të shkelësh

Metoda 1 e 4: Përdorimi i komandës "krahasoni"

  1. Përdorni krahasiminTo. Data zbaton ComparableDate> dhe kështu dy data mund të krahasohen drejtpërdrejt me njëra-tjetrën duke përdorur metodën compareTo. Nëse datat tregojnë të njëjtin moment në kohë, metoda do të kthehet zero. Nëse data që krahasohet është para argumentit të datës, atëherë një vlerë negative do të kthehet. Nëse data që krahasohet është një datë më e vonë se ajo e argumentit data, atëherë një vlerë pozitive do të kthehet. Nëse datat janë të njëjta, një zero do të kthehet.
  2. Krijoni objektet Date. Do të duhet të krijoni secilin objekt data përpara se të filloni t'i krahasoni ato. Një mënyrë për ta bërë këtë është të zbatohet klasa SimpleDateFormat. Kjo ju lejon të futni lehtë datat në objektet Data.

      SimpleDateFormat sdf = i ri SimpleDateFormat ("yyyy-MM-dd"); // Për deklarimin e vlerave në objektet e datave të reja.Përdorni të njëjtin format data kur krijoni data Date date1 = sdf.parse ("1995-02-23"); // data1 është 23 shkurt 1995 Data date2 = sdf.parse ("2001-10-31"); // data2 është 31 tetor 2001 Data data3 = sdf.parse ("1995-02-23"); // data3 është 23 shkurt 1995

  3. Krahasoni objektet e datës. Më poshtë tregon secilin rast - më pak se, e barabartë me dhe më e madhe se.

      data1.compareTo (data2); // data1 date2, më pak se 0 date2.compareTo (data1); // date2> date1, kthen më shumë se 0 date1.compareTo (data3); // data1 = data3, kthen 0

Metoda 2 e 4: Përdorimi i metodave "e barabartë, pas dhe para"

  1. Përdorni të barabartë, pas dhe para. Datat mund të krahasohen me njëra-tjetrën duke përdorur metodat e barabarta, pas dhe para. Nëse dy data tregojnë të njëjtën kohë, metoda e barabartë do të kthehet "e vërtetë". Shembujt përdorin datat e krijuara më parë përmes metodës së krahasimitTo.
  2. Krahasoni duke përdorur metodën para. Kodi më poshtë tregon një rast të vërtetë dhe të gabuar. Nëse data1 është më e hershme se data2, rezultati është i vërtetë. Nëse jo, para se të kthehet false.

      System.out.print (data1.para (data2)); // shtypni të vërtetë System.out.print (data2.para (data2)); // shtyp false

  3. Krahasoni këtë me metodën pas. Kodi më poshtë tregon një rast të vërtetë dhe të gabuar. Nëse data2 është më vonë se data1, atëherë pas kthimit është e vërtetë. Nëse jo, pas kthimit false.

      System.out.print (data2.after (data1)); // printimi i vërtetë System.out.print (data1.after (data2)); // shtypja false

  4. Krahasoni duke përdorur metodën e barabartë. Kodi më poshtë tregon një rast të vërtetë dhe të gabuar. Nëse datat janë të njëjta, kthimet e barabarta janë të vërteta. Nëse jo, kthimet e barabarta janë false.

      System.out.print (data1.equals (data3)); // printimi i vërtetë System.out.print (data1.equals (data2)); // printimi false

Metoda 3 e 4: Përdorimi i klasës Kalendari

  1. Përdorni klasën Kalendari. Klasa Calendar gjithashtu ka metodat e krahasimit To, barabartë, pas dhe para, të cilat funksionojnë në të njëjtën mënyrë siç përshkruhet më sipër për klasën e datave. Pra, nëse të dhënat e datës mbahen në një kalendar, nuk ka nevojë të nxirret "data", thjesht për të krahasuar dy data.
  2. Krijoni shembullin e Kalendarit. Për të përdorur metodat e Kalendarit ju duhen disa shembuj të Kalendarit. Për fat të mirë, ju mund ta përdorni kohën e krijuar nga instancat Date.

      Kalendari cal1 = Calendar.getInstance (); // deklaron cal1 Kalendari cal2 = Calendar.getInstance (); // deklaron cal2 Kalendari cal3 = Calendar.getInstance (); // deklaron cal3 cal1.setTime (data1); // zbaton datën për cal1 cal2.setTime (data2); cal3.setTime (data3);

  3. Krahasoni cal1 dhe cal2 duke përdorur më parë. Kodi më poshtë kthehet i vërtetë sepse cal1 është më i hershëm se cal2.

      System.out.print (cal1.para (cal2)); // shtyp e vërtetë

  4. Krahasoni cal1 dhe cal2 duke përdorur pas. Kodi më poshtë kthen false, sepse cal1 është më i hershëm se cal2.

      System.out.print (cal1.after (cal2)); // shtyp false

  5. Krahasoni cal1 dhe cal2 duke përdorur të barabartë. Kodi më poshtë tregon një shembull si të vërtetë ashtu edhe të rremë. Gjendja varet nga shembujt e Kalendarit që krahasohen. Kodi më poshtë kthen "i vërtetë" dhe pastaj "i rremë" në rreshtin tjetër.

      System.out.println (cal1.ekuacione (cal3)); // shtypja e vërtetë: cal1 == cal3 System.out.print (cal1.equals (cal2)); // shtyp false: cal1! = cal2

Metoda 4 e 4: Përdorimi i metodës "getTime"

  1. Përdorni getTime. Alsoshtë gjithashtu e mundur të krahasohen drejtpërdrejt dy pika kohore, megjithëse ndonjë nga qasjet e mësipërme ka të ngjarë të japë rezultate më të lexueshme dhe kështu preferohet. Ky është një krahasim i dy llojeve primitive të të dhënave, kështu që mund të bëhet me "", ">" dhe "==".
  2. Krijoni objektet "e gjata" të kohës. Para se të krahasoni datat, duhet të krijoni numra të plotë të gjatë nga të dhënat e objekteve Data të krijuara më parë. Për fat të mirë, metoda getTime () do të bëjë pjesën më të madhe të punës për ju.

      kohë e gjatë1 = getTime (data1); // deklaron kohën primitive1 të datës 1 kohë të gjatë2 = getTime (data2); // deklaron kohën primitive2 të datës2

  3. Përdorni një ekuacion "më pak se". Përdorni një simbol "më pak se" për të krahasuar këto dy vlera të plota. Meqenëse koha1 është më pak se koha2, mesazhi i parë duhet të shtypet në ekran. Deklarata tjetër është përfshirë për sintaksën e saktë.

      nëse (koha1 koha2) {System.out.println ("data1 është më e hershme se data2"); // shtyp sepse koha1 koha2} tjetër {System.out.println ("data1 është më e vonë ose e barabartë me date2"); }

  4. Bëni një krahasim "më të madh se". Përdorni simbolin "më i madh se" (>) për të krahasuar këto dy numra të plotë. Meqenëse koha1 është më e madhe se koha2, mesazhi i parë shtypet në ekran. Deklarata tjetër është përfshirë për sintaksën e saktë.

      if (koha2> koha1) {System.out.println ("data2 vjen pas datës1"); // shtyp sepse koha2> koha1} tjetër {System.out.println ("data2 është më e hershme ose e barabartë me date1"); }

  5. Bëni një krahasim "të barabartë me". Përdorni simbolin (==) për të krahasuar këto dy numra të plotë. Meqenëse koha1 është e barabartë me kohën3, mesazhi i parë duhet të shtypet. Nëse programi arrin në deklaratën tjetër, kjo do të thotë që kohët nuk janë të njëjta.

      nëse (koha1 == koha2) {System.out.println ("Datat janë të barabarta"); } other {System.out.println ("Datat nuk janë të barabarta"); // shtyp sepse koha1! = koha2}