4 mënyra për të krahasuar dy data në Java

Përmbajtje:

4 mënyra për të krahasuar dy data në Java
4 mënyra për të krahasuar dy data në Java

Video: 4 mënyra për të krahasuar dy data në Java

Video: 4 mënyra për të krahasuar dy data në Java
Video: Klithma e Gjergj Lucës! Biznesmeni i njohur shpjegon veten dhe të tjerët - Të Paekspozuarit 2024, Prill
Anonim

Ka mënyra të ndryshme për të krahasuar datat Java. Brenda, 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ë një objekt, që do të thotë se përfshin metoda të shumta për krahasim. Çdo metodë e krahasimit të dy datave do të krahasojë në thelb kohën e datave.

Hapa

Metoda 1 nga 4: Përdorimi i krahasimitTo

4301351 1
4301351 1

Hapi 1. Përdorni krahasiminTo

Data zbatohet e krahasueshme dhe kështu dy data mund të krahasohen drejtpërdrejt me metodën e krahasimitTo. Nëse datat janë për të njëjtën pikë në kohë, metoda kthehet në zero. Nëse data që krahasohet është para argumentit të datës, kthehet një vlerë më e vogël se zero. Nëse data që krahasohet është pas argumentit të datës, kthehet një vlerë më e madhe se zero. Nëse datat janë të barabarta, kthehet vlera 0.

4301351 2
4301351 2

Hapi 2. Krijoni objektet e datës

Ju do të duhet të krijoni secilin objekt të datës para se të filloni t'i krahasoni ato. Një mënyrë për ta bërë këtë është përdorimi i klasës SimpleDateFormat. Mundëson futjen e lehtë të vlerave të datës në objektet e datës.

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

4301351 3
4301351 3

Hapi 3. Krahasoni objektet e datës

Kodi më poshtë do t'ju tregojë secilin rast - më pak se, i barabartë dhe më i madh se.

    date1. Krahasoni me (date2); // date1 <date2, kthen më pak se 0 date2.compareTo (date1); // date2> date1, kthen më shumë se 0 date1.compareTo (date3); // date1 = date3, kështu do të printojë 0 në tastierë

Metoda 2 nga 4: Përdorimi i barabartë, pas dhe më parë

4301351 4
4301351 4

Hapi 1. Përdorni të barabartë, para dhe më parë

Datat mund të krahasohen me metodat e barabarta, pas dhe para. Nëse dy data janë për të njëjtën pikë në kohë, metoda e barabartë do të kthehet e vërtetë. Shembujt do të përdorin datat e krijuara më parë nga metoda compareTo.

4301351 5
4301351 5

Hapi 2. Krahasoni duke përdorur metodën e mëparshme

Kodi më poshtë tregon një rast të vërtetë dhe të rremë. Nëse data1 është para datës2, para se të kthehet e vërtetë. Nëse nuk është, para se të kthehet false.

    System.out.print (data1.para (date2)); // printon System.out.print të vërtetë (date2.para (date2)); // printon false

4301351 6
4301351 6

Hapi 3. Krahasoni duke përdorur metodën pas

Kodi më poshtë tregon një rast të vërtetë dhe të rremë. Nëse data2 është pas datës 1, pas kthehet e vërtetë. Nëse nuk është, pas kthimit false.

    System.out.print (date2.after (date1)); // printon System.out.print të vërtetë (date1.after (date2)); // printon false

4301351 7
4301351 7

Hapi 4. Krahasoni duke përdorur metodën e barabartë

Kodi më poshtë tregon një rast të vërtetë dhe të rremë. Nëse datat janë të barabarta, e barabarta kthehet e vërtetë. Nëse nuk janë, kthimi i barabartë me false është.

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

Metoda 3 nga 4: Përdorimi i Klasës së Kalendarit

4301351 8
4301351 8

Hapi 1. Përdorni kalendarin

Klasa e kalendarit gjithashtu ka krahasuar me, të barabartë, pas dhe para metodave që funksionojnë në të njëjtën mënyrë siç është përshkruar më sipër për klasën e datave. Pra, nëse informacioni i datës po mbahet në një kalendar, nuk ka nevojë të nxirrni datën vetëm për të kryer një krahasim.

4301351 9
4301351 9

Hapi 2. Krijo raste të Kalendarit

Për të përdorur metodat e Kalendarit, do t'ju duhen disa raste të Kalendarit. Për fat të mirë, ju thjesht mund të kapni kohën nga rastet e krijuara tashmë të datës.

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

4301351 10
4301351 10

Hapi 3. Krahasoni cal1 dhe cal2 duke përdorur më parë

Kodi më poshtë duhet të shtypet i vërtetë pasi kal1 është para kal2.

    System.out.print (cal1.para (cal2)); // do të printojë e vërtetë

4301351 11
4301351 11

Hapi 4. Krahasoni cal1 dhe cal2 duke përdorur after

Kodi më poshtë duhet të printojë false pasi cal1 është para cal2.

    System.out.print (cal1.pas (cal2)); // printon false

4301351 12
4301351 12

Hapi 5. Krahasoni cal1 dhe cal2 duke përdorur të barabartë

Kodi më poshtë do të tregojë një shembull të një rasti të vërtetë dhe të rremë. Gjendja varet nga rastet e kalendarit që krahasohen. Kodi duhet të printojë "true", pastaj "false" në rreshtin tjetër.

    System.out.println (cal1.e barabartë (cal3)); // printon true: cal1 == cal3 System.out.print (cal1.equals (cal2)); // printon false: cal1! = cal2

Metoda 4 nga 4: Përdorimi i getTime

4301351 13
4301351 13

Hapi 1. Përdorni getTime

Alsoshtë gjithashtu e mundur që të krahasohet drejtpërdrejt koha e dy datave, megjithëse ndonjë nga qasjet e mëparshme ka të ngjarë të jetë më e lexueshme dhe aq e preferueshme. Ky do të jetë një krahasim i dy llojeve të të dhënave primitive, kështu që mund të bëhet me "", dhe "==".

4301351 14
4301351 14

Hapi 2. Krijoni objekte me kohë të gjatë

Para se të krahasoni datat, duhet të krijoni numra të plotë të gjatë me të dhënat nga objektet e krijuara më parë të datës. 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 nga data1 kohë e gjatë2 = getTime (data2); // deklaron kohën primitive2 nga data2

4301351 15
4301351 15

Hapi 3. Bëni një krahasim më pak se sa

Përdorni simbolin më pak se (<) për të krahasuar këto dy vlera të plota. Meqenëse koha1 është më pak se koha 2, mesazhi i parë duhet të printohet. Deklarata else përfshihet për sintaksën e duhur.

    nëse (koha1 <koha2) {System.out.println ("data1 është para datës2"); // do të printojë që nga koha1 <time2} else {System.out.println ("data1 nuk është para datës2"); }

4301351 16
4301351 16

Hapi 4. Bëni një krahasim më të madh

Përdorni simbolin më të madh se (>) për të krahasuar këto dy vlera të plota. Meqenëse koha1 është më e madhe se koha 2, mesazhi i parë duhet të printohet. Deklarata else përfshihet për sintaksën e duhur.

    nëse (koha2> koha1) {System.out.println ("data2 është pas datës1"); // do të printojë që nga koha2> koha1} tjetër {System.out.println ("data2 nuk është pas datës1"); }

4301351 17
4301351 17

Hapi 5. Bëni një krahasim të barabartë

Përdorni simbolin për të kontrolluar barazinë (==) për të krahasuar këto dy vlera të plota për barazi. Meqenëse koha1 është e barabartë me kohën3, mesazhi i parë duhet të printohet. Nëse programi arrin në deklaratën else, kjo do të thotë që kohët nuk janë të barabarta.

    nëse (koha1 == koha2) {System.out.println ("datat janë të barabarta"); } else {System.out.println ("datat nuk janë të barabarta"); // do të printojë që nga koha1! = koha2}

Recommended: