Berðu dagsetningar saman á Java

Höfundur: Roger Morrison
Sköpunardag: 24 September 2021
Uppfærsludagsetning: 1 Júlí 2024
Anonim
Ещё немного красивых пикселей ► 2 Прохождение Huntdown
Myndband: Ещё немного красивых пикселей ► 2 Прохождение Huntdown

Efni.

Það eru nokkrar leiðir til að bera saman dagsetningar á Java. Innbyrðis er dagsetning táknuð sem (langur) tímapunktur - fjöldi millisekúndna sem liðnir eru síðan 1. janúar 1970. Í Java er dagsetning dagsetningarmótið, sem þýðir að hún inniheldur margar aðferðir til að bera saman dagsetningar. Hvaða aðferð sem er til að bera saman tvær dagsetningar mun í grundvallaratriðum bera saman liðinn tíma beggja dagsetninga.

Að stíga

Aðferð 1 af 4: Notaðu "bera saman" skipunina

  1. Notaðu CompareTo. Dagsetning útfærir ComparableDate> og svo er hægt að bera saman tvær dagsetningar beint saman með því að nota comparTo aðferðina. Ef dagsetningar gefa til kynna sama augnablik í tíma mun aðferðin skila núlli. Ef dagsetningin sem borin er saman er fyrir dagsetningarrökin, þá verður neikvætt gildi skilað. Ef dagsetningin sem borin er saman er seinni dagsetning en dagsetningarrökin, þá verður jákvætt gildi skilað. Ef dagsetningar eru þær sömu verður núlli skilað.
  2. Búðu til Date hlutina. Þú verður að búa til hvern dagsetningarmót áður en þú getur byrjað að bera saman þá. Ein leið til þess er að beita SimpleDateFormat bekknum. Þetta gerir þér kleift að færa dagsetningar auðveldlega inn í Date-hluti.

      SimpleDateFormat sdf = nýtt SimpleDateFormat ("yyyy-MM-dd"); // Til að lýsa yfir gildum í nýjum dagsetningarmörkum.Notaðu sama dagsetningarsnið þegar þú býrð til dagsetningar Date Date1 = sdf.parse ("1995-02-23"); // date1 er 23. febrúar 1995 Date date2 = sdf.parse ("2001-10-31"); // date2 er 31. október 2001 Date date3 = sdf.parse ("1995-02-23"); // date3 er 23. febrúar 1995

  3. Berðu saman dagsetningarmótin. Hér að neðan sýnir hvert tilfelli - minna en, jafnt og stærra en.

      date1.compareTo (date2); // date1 date2, less than 0 date2.compareTo (date1); // date2> date1, skilar meiri en 0 date1.compareTo (date3); // date1 = date3, skilar 0

Aðferð 2 af 4: Notaðu aðferðirnar "jafnt, eftir og á undan"

  1. Notaðu jafnt, eftir og áður. Dagsetningar má bera saman hver við annan með því að nota jafnt, eftir og fyrir aðferðir. Ef tvær dagsetningar gefa til kynna sama tíma, mun jafnaaðferðin skila „sönn“. Dæmin nota áður búnar dagsetningar í gegnum CompareTo aðferðina.
  2. Berðu saman með áður aðferðinni. Kóðinn hér að neðan sýnir dæmi um satt og ósatt. Ef dagsetning 1 er fyrr en dagsetning 2 er niðurstaðan sönn. Ef ekki, áður en hann skilar fölsku.

      System.out.print (date1.before (date2)); // prenta satt System.out.print (date2.before (date2)); // prenta ósatt

  3. Berðu þetta saman við eftiraðferðina. Kóðinn hér að neðan sýnir dæmi um satt og ósatt. Ef date2 er seinna en date1, þá skilar það true eftir að það er aftur. Ef ekki, eftir að skila fölsku.

      System.out.print (date2.after (date1)); // prenta satt System.out.print (date1.after (date2)); // print false

  4. Berðu saman með jöfnum aðferð. Kóðinn hér að neðan sýnir dæmi um satt og ósatt. Ef dagsetningar eru þær sömu, jafnar skilar satt. Ef ekki, jafnar skilar ósatt.

      System.out.print (date1.equals (date3)); // prenta satt System.out.print (date1.equals (date2)); // print false

Aðferð 3 af 4: Notkun dagatalstímans

  1. Notaðu dagatalstímann. Dagatalstíminn hefur einnig bera saman ToT, jafnir, eftir og fyrir aðferðir, sem virka á sama hátt og lýst er hér að ofan fyrir dagsetningartímann. Svo ef dagsetningargögnin eru geymd í dagatali, þá er engin þörf á að draga út „dagsetningu“, bara til að bera saman tvær dagsetningar.
  2. Búðu til dæmi um dagatal. Til að nota dagatalsaðferðirnar þarftu nokkur dagatalsdæmi. Sem betur fer geturðu notað tímann eins og myndaður er af dagsetningartilfellunum.

      Dagatal cal1 = Calendar.getInstance (); // lýsir yfir cal1 Calendar cal2 = Calendar.getInstance (); // lýsir yfir cal2 Calendar cal3 = Calendar.getInstance (); // lýsir yfir cal3 cal1.setTime (date1); // gildir dagsetningu á cal1 cal2.setTime (dagsetning2); cal3.setTime (dagsetning3);

  3. Berðu saman cal1 og cal2 með áður. Kóðinn hér að neðan skilar sönnu vegna þess að cal1 er fyrr en cal2.

      System.out.print (cal1.before (cal2)); // prenta satt

  4. Berðu saman cal1 og cal2 með því að nota eftir. Kóðinn hér að neðan skilar fölsku, því cal1 er fyrr en cal2.

      System.out.print (cal1.after (cal2)); // prenta ósatt

  5. Berðu saman cal1 og cal2 með því að nota jafnt. Kóðinn hér að neðan sýnir dæmi um bæði satt og ósatt. Skilyrðið veltur á því að tilvikin í dagatalinu eru borin saman. Kóðinn hér að neðan skilar „satt“ og síðan „ósatt“ í næstu línu.

      System.out.println (cal1.equals (cal3)); // prenta satt: cal1 == cal3 System.out.print (cal1.equals (cal2)); // prenta ósatt: cal1! = cal2

Aðferð 4 af 4: Notaðu "getTime" aðferðina

  1. Notaðu getTime. Það er einnig mögulegt að bera beint saman tvö tímapunkta, þó að einhver af ofangreindum aðferðum sé líkleg til að skila læsilegri niðurstöðum og er þannig valinn. Þetta er samanburður á tveimur frumstæðum gagnategundum, svo það er hægt að gera með "", ">" og "==".
  2. Búðu til "löngu" hlutina. Áður en þú getur borið saman dagsetningar verður þú að búa til langar heilar tölur úr gögnum áður búið til Date-hluti. Sem betur fer mun getTime () aðferðin vinna mest fyrir þig.

      langur tími1 = getTime (dagsetning1); // lýsir yfir frumtíma1 dagsetningar1 langan tíma2 = getTime (dagsetning2); // lýsir yfir frumtíma2 dagsetningar2

  3. Notaðu „minna en“ jöfnu. Notaðu „minna en“ tákn () til að bera saman þessi tvö heiltölugildi. Þar sem tími1 er minni en tími2 ætti að prenta fyrstu skilaboðin á skjánum. Hin fullyrðingin er innifalin fyrir rétta setningafræði.

      ef (tími1 tími2) {System.out.println („dagsetning1 er fyrr en dagsetning2“); // prenta vegna tíma1 tíma2} annars {System.out.println ("dagsetning1 er seinna en eða jafn dagsetning2"); }

  4. Gerðu "meiri en" samanburð. Notaðu táknið „meira en“ (>) til að bera saman þessar tvær tölur. Þar sem tími1 er meiri en tími2 eru fyrstu skilaboðin prentuð á skjáinn. Hin fullyrðingin er innifalin fyrir rétt setningafræði.

      ef (tími2> tími1) {System.out.println ("dagsetning2 kemur eftir dagsetningu1"); // prenta vegna þess að tími2> tími1} annað {System.out.println ("dagsetning2 er fyrr eða jafnt og dagsetning1"); }

  5. Gerðu „jafnan“ samanburð. Notaðu táknið (==) til að bera saman þessar tvær tölur. Þar sem tími1 jafngildir tíma3 ætti að prenta fyrstu skilaboðin. Ef forritið kemst að hinni yfirlýsingunni þýðir það að tímarnir eru ekki þeir sömu.

      if (time1 == time2) {System.out.println ("Dagsetningarnar eru jafnar"); } annað {System.out.println („Dagsetningar eru ekki jafnar“); // prenta vegna þess að tími1! = tími2}