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
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.
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
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ë
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.
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
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
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
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.
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);
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ë
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
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
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 "==".
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
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"); }
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"); }
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}