4 būdai palyginti dvi datas „Java“

Turinys:

4 būdai palyginti dvi datas „Java“
4 būdai palyginti dvi datas „Java“

Video: 4 būdai palyginti dvi datas „Java“

Video: 4 būdai palyginti dvi datas „Java“
Video: Your First Java Program | Java | Tutorial 3 2024, Gegužė
Anonim

Yra daug būdų palyginti dvi datas „Java“programavimo kalba. Kompiuteriuose data pateikiama skaičiumi (duomenų tipas „Ilgas“) laiko vienetais - tai yra milisekundžių, praėjusių nuo 1970 m. Sausio 1 d., Skaičiumi. „Java“programoje data yra objektas, o tai reiškia, kad keli palyginimo būdai. Bet koks dviejų datų palyginimo metodas iš esmės yra dviejų datų laiko vienetų palyginimas.

Žingsnis

1 metodas iš 4: „CompaTo“naudojimas

4301351 1
4301351 1

Žingsnis 1. Naudokite palygintiTo

Objektas „Data“įgyvendina palyginamąjį, todėl 2 datas galima tiesiogiai palyginti tarpusavyje naudojant „CompareTo“metodą. Jei abi datos turi vienodą skaičių laiko vienetais, tada metodas grąžina nulį. Jei antroji data yra mažesnė už pirmąją, grąžinama reikšmė, mažesnė už nulį. Jei antroji data yra didesnė už pirmąją, metodas grąžina reikšmę, didesnę nei nulis. Jei abi datos yra vienodos, metodas grąžins nulinę vertę.

4301351 2
4301351 2

Žingsnis 2. Sukurkite kelis datos objektus

Prieš lygindami turite sukurti kelis datos objektus. Vienas iš paprasčiausių būdų tai padaryti yra klasė „SimpleDateFormat“. Ši klasė leidžia lengvai konvertuoti įvesties datos vertę į datos objektą.

    SimpleDateFormat sdf = naujas SimpleDateFormat ("yyyy-MM-dd"). Norėdami deklaruoti vertę nauja „Objekto data“, kurdami datą naudokite tą patį datos formatą. Data data1 = sdf.parse ("1995-02-23"); // data1 yra 1995 m. vasario 23 d. Data data2 = sdf.parse ("2001-10-31"); // data2 yra 2001 m. spalio 31 d. Data data3 = sdf.parse ("1995-02-23"); // data3 yra 1995 m. vasario 23 d

4301351 3
4301351 3

Žingsnis 3. Palyginkite datos objektus

Šis kodas parodys kiekvieno atvejo pavyzdžius - mažesnis nei, lygus ir didesnis nei.

    date1.compareTo (data2); // data1 <data2, grąžina reikšmę, mažesnę nei 0 date2.compareTo (data1); // data2> data1, grąžina reikšmę, didesnę nei 0 date1.compareTo (data3); // data1 = data3, todėl konsolėje jis išves 0

2 metodas iš 4: Lygių naudojimas po ir prieš

4301351 4
4301351 4

1 žingsnis. Po ir prieš naudokite lygų

Datas galima palyginti naudojant lygius, po ir prieš metodus. Jei dvi datos turi tą pačią laiko reikšmę, lygus metodas grąžina tikrąją. Šiame pavyzdyje bus naudojamas objektas Data, sukurtas pavyzdyje CompaTo.

4301351 5
4301351 5

2 žingsnis. Palyginkite su ankstesniu metodu

Šis kodas rodo atvejo pavyzdį, kuris pateikia teisingą ir klaidingą. Jei data1 yra data prieš datą2, metodas prieš grąžina teisingą. Priešingu atveju metodas grąžina klaidingą.

    System.out.print (data1.before (data2)); // rodyti reikšmę '' true '' System.out.print (date2.before (date2)); // grąžinti reikšmę „false“

4301351 6
4301351 6

Žingsnis 3. Palyginkite naudodami metodą po

Šis kodas rodo atvejo pavyzdį, kuris grąžina teisingą ir klaidingą. Jei data2 yra data po datos1, tada metodas grąžina tikrąją. Priešingu atveju „after“metodas grąžins klaidingą.

    System.out.print (data2.after (data1)); // rodyti reikšmę „true“„System.out.print“(data1.after (data2)); // rodyti reikšmę „false“

4301351 7
4301351 7

Žingsnis 4. Palyginkite su lygiu metodu

Šis kodas rodo atvejo pavyzdį, kuris grąžina teisingą ir klaidingą. Jei abi datos yra lygios, lygus metodas grąžina tikrąją. Priešingu atveju lygus metodas grąžina klaidingą.

    System.out.print (date1.equals (data3)); // rodyti reikšmę „true“System.out.print (date1.equals (data2)); // rodyti reikšmę „false“

3 metodas iš 4: klasių kalendoriaus naudojimas

4301351 8
4301351 8

Žingsnis 1. Naudokite klasės kalendorių

Klasėje „Kalendorius“taip pat yra „CompaTo“, lygus, po ir prieš metodai, kurie veikia taip pat, kaip aprašyta anksčiau klasėje „Data“. Taigi, jei datos informacija yra saugoma klasės kalendoriuje, jums nereikia ištraukti datos, kad galėtumėte palyginti.

4301351 9
4301351 9

Žingsnis 2. Sukurkite kalendoriaus egzempliorių

Norėdami naudoti kursų kalendoriaus metodus, turite sukurti kelis kalendoriaus egzempliorius. Laimei, galite naudoti anksčiau sukurtos datos egzemplioriaus reikšmes.

    Kalendorius cal1 = Calendar.getInstance (); // deklaruoti cal1 Kalendorius cal2 = Calendar.getInstance (); // deklaruoti cal2 Kalendorius cal3 = Calendar.getInstance (); // deklaruoti cal3 cal1.setTime (data1); // įdėti datą į cal1 cal2.setTime (data2); cal3.setTime (data3);

4301351 10
4301351 10

Žingsnis 3. Palyginkite cal1 ir cal2, naudodami ankstesnį metodą

Šis kodas išves tr reikšmę

    System.out.print (cal1.before (cal2)); // grąžins vertę „true“

4301351 11
4301351 11

Žingsnis 4. Palyginkite cal1 ir cal2 naudodami metodą po

Šis kodas grąžins klaidingą, nes cal1 yra data prieš cal2.

    System.out.print (cal1.after (cal2)); // grąžinti reikšmę „false“

4301351 12
4301351 12

Žingsnis 5. Palyginkite cal1 ir cal2, naudodami lygų metodą

Šis kodas parodys atvejo pavyzdį, kuris pateikia teisingą ir klaidingą. Būklė priklauso nuo lyginamo kalendoriaus egzemplioriaus. Šis kodas grąžins reikšmę „true“, tada „false“kitoje eilutėje.

    System.out.println (cal1.equals (cal3)); // grąžinti reikšmę '' true '': cal1 == cal3 System.out.print (cal1.equals (cal2)); // grąžinkite reikšmę '' false '': cal1! = cal2

4 metodas iš 4: „getTime“naudojimas

4301351 13
4301351 13

1 veiksmas. Naudokite „getTime“

Taip pat galite tiesiogiai palyginti dviejų datų laiko vienetų vertes, nors du ankstesnius metodus gali būti lengviau perskaityti ir pageidautina. Taip lyginsite 2 primityvius duomenų tipus, kad galėtumėte naudoti operandus „“ir „==“.

4301351 14
4301351 14

Žingsnis 2. Sukurkite laiko objekto ilgų skaičių formatu

Kad galėtumėte palyginti datas, turite sukurti ilgio sveiko skaičiaus vertę iš anksčiau sukurto datos objekto. Laimei, „getTime“() metodas tai padarys už jus.

    ilgas laikas1 = getTime (data1); // paskelbti primityvų datą1 data1 ilgas laikas2 = getTime (data2); // deklaruoti primityvią laiko datos2 reikšmę

4301351 15
4301351 15

Žingsnis 3. Atlikite mažesnį nei palyginimą

Norėdami palyginti šias dvi sveikas skaičių reikšmes, naudokite operandą, mažesnį nei (<). Kadangi laikas1 yra trumpesnis nei laikas2, pasirodys pirmasis pranešimas. Kitas teiginys įtrauktas siekiant užbaigti sintaksę.

    if (laikas1 <laikas2) {System.out.println ("data1 yra data iki datos2"); // bus rodomas, nes laikas1 <laikas2} kitas {System.out.println ("data1 nėra data prieš datą2"); }

4301351 16
4301351 16

Žingsnis 4. Atlikite didesnį nei palyginimą

Norėdami palyginti šias dvi sveikas skaičių reikšmes, naudokite didesnį nei (>) operandą. Kadangi laikas1 yra ilgesnis už laiką2, pasirodys pirmasis pranešimas. Kitas teiginys įtrauktas siekiant užbaigti sintaksę.

    if (laikas2> laikas1) {System.out.println ("data2 yra data po datos1"); // bus rodomas, nes laikas2> laikas1} else {System.out.println ("data2 yra ne data po datos1"); }

4301351 17
4301351 17

Žingsnis 5. Atlikite lygų palyginimą

Norėdami palyginti šiuos du sveikus skaičius, naudokite operando funkciją, kad patikrintumėte reikšmių lygybę (==). Kadangi laikas1 yra lygus laikui3, pasirodys pirmasis pranešimas. Jei programos srautas patenka į kitą teiginį, tai reiškia, kad du laikai neturi tos pačios vertės.

    if (laikas1 == laikas2) {System.out.println ("abi datos vienodos"); } else {System.out.println ("Pirmasis nėra tas pats, kas antrasis"); // bus rodomas, nes laikas1! = laikas2}

Rekomenduojamas: