4 Mga Paraan upang Paghambingin ang Dalawang Mga Petsa sa Java

Talaan ng mga Nilalaman:

4 Mga Paraan upang Paghambingin ang Dalawang Mga Petsa sa Java
4 Mga Paraan upang Paghambingin ang Dalawang Mga Petsa sa Java

Video: 4 Mga Paraan upang Paghambingin ang Dalawang Mga Petsa sa Java

Video: 4 Mga Paraan upang Paghambingin ang Dalawang Mga Petsa sa Java
Video: Как создать приложение Hello World Java | Центр онлайн-обучени... 2024, Mayo
Anonim

Mayroong maraming mga paraan upang ihambing ang dalawang mga petsa sa wika ng programa ng Java. Sa mga computer, ang isang petsa ay kinakatawan ng isang numero (ang uri ng data na Mahaba) sa mga yunit ng oras - iyon ay, ang bilang ng mga millisecond na lumipas mula noong Enero 1, 1970. Sa Java, ang Petsa ay isang bagay, na nangangahulugang mayroon itong maraming pamamaraan para sa paggawa ng mga paghahambing. Anumang pamamaraan na ginamit upang ihambing ang dalawang mga petsa ay mahalagang ihinahambing ang mga yunit ng oras ng dalawang mga petsa.

Hakbang

Paraan 1 ng 4: Paggamit ng CompareTo

4301351 1
4301351 1

Hakbang 1. Gumamit ng kumparaTo

Ang bagay ng Petsa ay nagpapatupad ng Maihahambing sa gayon ang 2 mga petsa ay maaaring ihambing sa bawat isa nang direkta sa pamamaraang CompareTo. Kung ang parehong mga petsa ay may parehong numero sa mga yunit ng oras, pagkatapos ang pamamaraan ay nagbabalik ng zero. Kung ang pangalawang petsa ay mas mababa kaysa sa una, isang halagang mas mababa sa zero ang naibalik. Kung ang pangalawang petsa ay mas malaki kaysa sa una, ang pamamaraan ay nagbabalik ng halagang mas malaki sa zero. Kung ang parehong mga petsa ay pareho, pagkatapos ang pamamaraan ay magbabalik ng isang null na halaga.

4301351 2
4301351 2

Hakbang 2. Lumikha ng maraming mga bagay sa Petsa

Dapat kang lumikha ng maraming mga bagay sa Petsa bago ihambing ang mga ito. Isa sa mga pinakamadaling paraan upang magawa ito ay ang paggamit sa klase ng SimpleDateFormat. Ginagawang madali ng klase na ito na i-convert ang isang halaga ng petsa ng pag-input sa isang bagay na Petsa.

    SimpleDateFormat sdf = bagong SimpleDateFormat ("yyyy-MM-dd"). Upang ideklara ang isang halaga sa isang bagong '' Petsa ng Bagay '', gamitin ang parehong format ng petsa kapag lumilikha ng petsa. Petsa ng petsa1 = sdf.parse ("1995-02-23"); // date1 ay Pebrero 23, 1995 Petsa ng petsa2 = sdf.parse ("2001-10-31"); // date2 ay Oktubre 31, 2001 Petsa ng petsa3 = sdf.parse ("1995-02-23"); // date3 ay Pebrero 23, 1995

4301351 3
4301351 3

Hakbang 3. Paghambingin ang mga bagay sa Petsa

Ipapakita sa iyo ng sumusunod na code ang mga halimbawa para sa bawat kaso - mas mababa sa, pantay, at mas malaki sa.

    date1.compareTo (date2); // date1 <date2, nagbabalik ng halagang mas mababa sa 0 date2.compareTo (date1); // date2> date1, nagbabalik ng halagang mas malaki sa 0 date1.compareTo (date3); // date1 = date3, kaya maglalabas ito ng 0 sa console

Paraan 2 ng 4: Paggamit ng Katumbas, Pagkatapos at Bago

4301351 4
4301351 4

Hakbang 1. Gumamit ng katumbas, pagkatapos at bago

Maaaring ihambing ang mga petsa gamit ang mga katumbas, pagkatapos, at bago ang mga pamamaraan. Kung ang dalawang mga petsa ay may parehong halaga sa oras, ang katumbas na pamamaraan ay babalik totoo. Ang sumusunod na halimbawa ay gagamitin ang bagay na Petsa na nilikha sa halimbawang ihambing sa Paraan.

4301351 5
4301351 5

Hakbang 2. Ihambing sa dati na pamamaraan

Ang sumusunod na code ay nagpapakita ng isang halimbawa ng kaso na nagbabalik ng totoo at hindi. Kung ang date1 ay isang petsa bago ang petsa2, ang dating pamamaraan ay bumalik nang totoo. Kung hindi man, ang dati na pamamaraan ay nagbabalik ng mali.

    System.out.print (date1.before (date2)); // ipakita ang halagang "totoo" System.out.print (date2.beeb (date2)); // ibalik ang halagang 'false'

4301351 6
4301351 6

Hakbang 3. Paghambingin ang paggamit ng pagkatapos na pamamaraan

Ang sumusunod na code ay nagpapakita ng isang halimbawa ng kaso na nagbabalik ng totoo at hindi. Kung ang petsa2 ay ang petsa pagkatapos ng petsa1, ang sumusunod na pamamaraan ay babalik totoo. Kung hindi man, ang pamamaraan na pagkatapos ay magbabalik mali.

    System.out.print (date2. After (date1)); // ipakita ang halagang "totoo" System.out.print (date1. After (date2)); // ipakita ang halagang 'false'

4301351 7
4301351 7

Hakbang 4. Ihambing sa katumbas na pamamaraan

Ang sumusunod na code ay nagpapakita ng isang halimbawa ng kaso na nagbabalik ng totoo at hindi. Kung ang parehong mga petsa ay pantay, ang katumbas na pamamaraan ay babalik totoo. Kung hindi man, ang katumbas na pamamaraan ay nagbabalik ng mali.

    System.out.print (date1.equals (date3)); // ipakita ang halagang '' totoo '' System.out.print (date1.equals (date2)); // ipakita ang halagang 'false'

Paraan 3 ng 4: Paggamit ng Kalendaryo ng Klase

4301351 8
4301351 8

Hakbang 1. Gumamit ng Kalendaryo ng Klase

Ang klase sa Kalendaryo ay mayroon ding ihambing sa, katumbas, pagkatapos, at bago ang mga pamamaraan na gumagana nang pareho sa nailarawan nang mas maaga para sa Petsa ng klase. Kaya't kung ang impormasyon sa petsa ay nakaimbak sa isang Kalendaryo sa Klase, hindi mo na kailangang kunin ang petsa upang makagawa lamang ng paghahambing.

4301351 9
4301351 9

Hakbang 2. Lumikha ng isang halimbawa ng Kalendaryo

Upang magamit ang mga pamamaraan sa Class Calendar, dapat kang lumikha ng maraming mga pagkakataon sa Kalendaryo. Sa kasamaang palad, maaari mong gamitin ang mga halaga mula sa dating nilikha na halimbawa ng Petsa.

    Kalendaryo cal1 = Calendar.getInstance (); // ideklara cal1 Kalendaryo cal2 = Calendar.getInstance (); // ideklara cal2 Kalendaryo cal3 = Calendar.getInstance (); // ideklara ang cal3 cal1.setTime (date1); // ilagay ang petsa sa cal1 cal2.setTime (date2); cal3.setTime (date3);

4301351 10
4301351 10

Hakbang 3. Paghambingin ang cal1 at cal2 gamit ang bago na pamamaraan

Ang sumusunod na code ay maglalabas ng halaga ng tr

    System.out.print (cal1.before (cal2)); // babalik ang halaga na '' totoo ''

4301351 11
4301351 11

Hakbang 4. Paghambingin ang cal1 at cal2 gamit ang pagkatapos na pamamaraan

Ang sumusunod na code ay magbabalik maling dahil ang cal1 ay ang petsa bago ang cal2.

    System.out.print (cal1. After (cal2)); // ibalik ang halagang 'false'

4301351 12
4301351 12

Hakbang 5. Paghambingin ang cal1 at cal2 gamit ang katumbas na pamamaraan

Ipapakita ng sumusunod na code ang isang halimbawa ng kaso na nagbabalik ng totoo at hindi. Ang estado ay nakasalalay sa halimbawa ng Kalendaryo na inihambing. Ang sumusunod na code ay ibabalik ang halagang "totoo", pagkatapos ay "maling" sa susunod na linya.

    System.out.println (cal1.equals (cal3)); // ibalik ang halagang "totoo": cal1 == cal3 System.out.print (cal1.equals (cal2)); // ibalik ang halagang 'false': cal1! = cal2

Paraan 4 ng 4: Paggamit ng getTime

4301351 13
4301351 13

Hakbang 1. Gumamit ng getTime

Maaari mo ring direktang ihambing ang mga halaga ng yunit ng oras ng dalawang mga petsa, kahit na ang nakaraang dalawang pamamaraan ay maaaring mas madaling basahin at mas gusto. Sa ganitong paraan maihahambing mo ang 2 mga primitive na uri ng data, upang magamit mo ang mga operan na "", at "==".

4301351 14
4301351 14

Hakbang 2. Lumikha ng isang object ng oras sa Long format na numero

Bago mo maihambing ang mga petsa, dapat kang lumikha ng isang halaga ng Long Integer mula sa dating nilikha na bagay na Petsa. Sa kabutihang palad, ang paraan ng getTime () ay gagawin ito para sa iyo.

    mahabang oras1 = getTime (date1); // ideklara ang primitive time1 ng date1 mahabang oras2 = getTime (date2); // ideklara ang primitive time2 na halaga ng petsa2

4301351 15
4301351 15

Hakbang 3. Magsagawa ng mas mababa sa paghahambing

Gumamit ng mas mababa sa (<) operand upang ihambing ang dalawang halagang integer. Dahil ang time1 ay mas mababa sa time2, lilitaw ang unang mensahe. Ang iba pang pahayag ay kasama upang makumpleto ang syntax.

    kung (time1 <time2) {System.out.println ("date1 ang petsa bago ang petsa2"); // magpapakita dahil ang time1 <time2} iba pa {System.out.println ("date1 ay hindi isang petsa bago ang petsa2"); }

4301351 16
4301351 16

Hakbang 4. Magsagawa ng isang mas malaki kaysa sa paghahambing

Gumamit ng mas malaki sa (>) operand upang ihambing ang dalawang halagang integer na ito. Dahil ang time1 ay mas malaki kaysa sa time2, lilitaw ang unang mensahe. Ang iba pang pahayag ay kasama upang makumpleto ang syntax.

    kung (time2> time1) {System.out.println ("date2 is the date after date1"); // magpapakita dahil oras2> time1} iba pa {System.out.println ("date2 ay hindi ang petsa pagkatapos ng petsa1"); }

4301351 17
4301351 17

Hakbang 5. Magsagawa ng isang katumbas na paghahambing

Gamitin ang pagpapaandar ng operand upang suriin ang pagkakapantay-pantay ng mga halaga (==) upang ihambing ang dalawang integer na ito. Dahil ang time1 ay katumbas ng time3, lilitaw ang unang mensahe. Kung ang daloy ng programa ay napupunta sa ibang pahayag, nangangahulugan ito na ang dalawang beses ay walang parehong halaga.

    kung (time1 == time2) {System.out.println ("ang parehong mga petsa ay pareho"); } iba pa {System.out.println ("Ang ika-1 ay hindi pareho sa ika-2"); // magpapakita dahil time1! = time2}

Inirerekumendang: