Paghambingin ang mga petsa sa Java

May -Akda: Roger Morrison
Petsa Ng Paglikha: 24 Setyembre 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Gumastos Ako ng 1 Trillion Tech Coins Para sa Malakas na Pet! - Roblox Pet Simulator X
Video.: Gumastos Ako ng 1 Trillion Tech Coins Para sa Malakas na Pet! - Roblox Pet Simulator X

Nilalaman

Mayroong maraming mga paraan upang ihambing ang mga petsa sa Java. Sa panloob, ang isang petsa ay kinakatawan bilang isang (mahabang) punto sa oras - ang bilang ng mga millisecond na lumipas mula Enero 1, 1970. Sa Java, ang petsa ay ang object ng Petsa, na nangangahulugang naglalaman ito ng maraming pamamaraan para sa paghahambing ng mga petsa. Anumang paraan ng paghahambing ng dalawang mga petsa ay karaniwang ihinahambing ang lumipas na oras ng parehong mga petsa.

Upang humakbang

Paraan 1 ng 4: Gamit ang utos na "ihambingTo"

  1. Gumamit ng kumparaTo. Ipinatutupad ng petsa ang ComparableDate> at sa gayon ang dalawang mga petsa ay maaaring direktang ihinahambing sa bawat isa gamit ang pamamaraang CompareTo. Kung ang mga petsa ay nagpapahiwatig ng parehong sandali sa oras, ang pamamaraan ay babalik sa zero. Kung ang petsa na inihambing ay bago ang petsa ng pagtatalo, pagkatapos ay isang negatibong halaga ang ibabalik. Kung ang petsa na inihambing ay isang mas huling petsa kaysa sa argument ng petsa, pagkatapos ay ibabalik ang isang positibong halaga. Kung ang mga petsa ay pareho, isang zero ang ibabalik.
  2. Lumikha ng mga bagay sa Petsa. Kailangan mong likhain ang bawat object ng petsa bago mo masimulan ang paghahambing sa kanila. Ang isang paraan upang magawa ito ay ilapat ang klase ng SimpleDateFormat. Pinapayagan kang madali mong ipasok ang mga petsa sa mga bagay sa Petsa.

      SimpleDateFormat sdf = bagong SimpleDateFormat ("yyyy-MM-dd"); // Para sa pagdedeklara ng mga halaga sa mga bagong object ng petsa.Gumamit ng parehong format ng petsa kapag lumilikha ng mga 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

  3. Ihambing ang mga bagay sa petsa. Ipinapakita sa ibaba ang bawat kaso - mas mababa sa, katumbas ng at higit sa.

      date1.compareTo (date2); // date1 date2, mas mababa sa 0 date2.compareTo (date1); // date2> date1, nagbabalik nang higit sa 0 date1.compareTo (date3); // date1 = date3, nagbabalik ng 0

Paraan 2 ng 4: Ang paggamit ng mga pamamaraan na "katumbas, pagkatapos at bago"

  1. Gumamit ng katumbas, pagkatapos at bago. Ang mga petsa ay maaaring ihambing sa bawat isa gamit ang katumbas, pagkatapos, at bago ang mga pamamaraan. Kung ang dalawang mga petsa ay nagpapahiwatig ng parehong oras, ang katumbas na pamamaraan ay babalik "totoo". Ang mga halimbawa ay gumagamit ng dating nilikha na mga petsa sa pamamagitan ng pamamaraang CompareTo.
  2. Paghambingin ang paggamit ng dati na pamamaraan. Ang code sa ibaba ay nagpapakita ng isang kaso ng totoo at mali. Kung ang date1 ay mas maaga kaysa sa date2, ang resulta ay totoo. Kung hindi, bago bumalik ay hindi totoo.

      System.out.print (date1.before (date2)); // print true System.out.print (date2.before (date2)); // print false

  3. Ihambing ito sa pagkatapos na pamamaraan. Ang code sa ibaba ay nagpapakita ng isang kaso ng totoo at mali. Kung ang petsa2 ay huli sa petsa1, pagkatapos ay totoo ang pagbalik. Kung hindi, pagkatapos bumalik ay hindi totoo.

      System.out.print (date2. After (date1)); // print true System.out.print (date1. After (date2)); // print false

  4. Paghambingin ang paggamit ng katumbas na pamamaraan. Ang code sa ibaba ay nagpapakita ng isang kaso ng totoo at mali. Kung ang mga petsa ay pareho, katumbas ng pagbabalik totoo. Kung hindi, katumbas ng pagbalik ay hindi totoo.

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

Paraan 3 ng 4: Paggamit ng klase sa Kalendaryo

  1. Gamitin ang klase sa Kalendaryo. Ang klase sa Kalendaryo ay mayroon ding kumpara saTo, katumbas, pagkatapos, at bago ang mga pamamaraan, na gumagana sa parehong paraan tulad ng inilarawan sa itaas para sa klase ng petsa. Kaya't kung ang data ng petsa ay itinatago sa isang kalendaryo, hindi na kailangang kumuha ng "petsa", upang ihambing lamang ang dalawang mga petsa.
  2. Lumikha halimbawa ng Kalendaryo. Upang magamit ang mga pamamaraan ng Kalendaryo kailangan mo ng ilang mga pagkakataon sa Kalendaryo. Sa kasamaang palad, maaari mong gamitin ang oras tulad ng nabuo ng mga pagkakataon sa Petsa.

      Kalendaryo cal1 = Calendar.getInstance (); // nagdedeklara ng cal1 Calendar cal2 = Calendar.getInstance (); // idineklara cal2 Kalendaryo cal3 = Calendar.getInstance (); // idineklara ang cal3 cal1.setTime (date1); // naglalapat ng petsa sa cal1 cal2.setTime (date2); cal3.setTime (date3);

  3. Paghambingin ang cal1 at cal2 gamit ang dati. Ang code sa ibaba ay nagbabalik totoo sapagkat ang cal1 ay mas maaga kaysa sa cal2.

      System.out.print (cal1.before (cal2)); // print true

  4. Paghambingin ang cal1 at cal2 gamit ang pagkatapos. Ang code sa ibaba ay nagbabalik ng mali, dahil ang cal1 ay mas maaga kaysa sa cal2.

      System.out.print (cal1. After (cal2)); // print false

  5. Paghambingin ang cal1 at cal2 gamit ang katumbas. Ang code sa ibaba ay nagpapakita ng isang halimbawa ng parehong totoo at hindi. Ang kondisyon ay nakasalalay sa mga pagkakataon sa Kalendaryo na inihambing. Ang code sa ibaba ay nagbabalik ng "totoo" at pagkatapos ay "maling" sa susunod na linya.

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

Paraan 4 ng 4: Paggamit ng pamamaraang "getTime"

  1. Gumamit ng getTime. Posible rin na direktang ihambing ang dalawang puntos ng oras, kahit na ang alinman sa mga naunang diskarte ay malamang na magbunga ng higit na nababasa na mga resulta at sa gayon ay ginusto. Ito ay isang paghahambing ng dalawang sinaunang uri ng data, kaya magagawa sa "", ">" at "==".
  2. Lumikha ng "mahaba" na mga bagay sa oras. Bago mo maihambing ang mga petsa, dapat kang lumikha ng mga mahabang integer mula sa data ng dating nilikha na mga bagay sa Petsa. Sa kasamaang palad, ang paraan ng getTime () ay gagawin ang karamihan sa trabaho para sa iyo.

      mahabang oras1 = getTime (date1); // nagdedeklara ng primitive time1 ng date1 mahabang oras2 = getTime (date2); // nagdedeklara ng primitive na oras2 ng petsa2

  3. Gumamit ng isang "mas mababa sa" equation. Gumamit ng isang "mas mababa sa" simbolo () upang ihambing ang dalawang halagang integer. Dahil ang time1 ay mas mababa sa time2, ang unang mensahe ay dapat na nakalimbag sa screen. Ang iba pang pahayag ay kasama para sa tamang syntax.

      kung (time1 time2) {System.out.println ("date1 ay mas maaga kaysa sa date2"); // print dahil time1 time2} iba pa {System.out.println ("date1 ay huli kaysa o katumbas ng date2"); }

  4. Gumawa ng isang "mas malaki kaysa sa" paghahambing. Gamitin ang simbolong "mas malaki sa" (>) upang ihambing ang dalawang integer na ito. Dahil ang time1 ay mas malaki kaysa sa time2, ang unang mensahe ay nakalimbag sa screen. Ang iba pang pahayag ay kasama para sa tamang syntax.

      kung (time2> time1) {System.out.println ("date2 ay dumating pagkatapos ng date1"); // print because time2> time1} else {System.out.println ("date2 ay mas maaga kaysa o katumbas ng date1"); }

  5. Gumawa ng isang "katumbas ng" paghahambing. Gamitin ang simbolo (==) upang ihambing ang dalawang integer na ito. Dahil ang time1 ay katumbas ng time3, ang unang mensahe ay dapat na nakalimbag. Kung nakarating ang programa sa ibang pahayag, nangangahulugan ito na ang mga oras ay hindi pareho.

      kung (time1 == time2) {System.out.println ("Ang mga petsa ay pantay"); } iba pa {System.out.println ("Ang mga petsa ay hindi pantay"); // print kasi time1! = time2}