Java-дағы күндерді салыстырыңыз

Автор: Roger Morrison
Жасалған Күн: 24 Қыркүйек 2021
Жаңарту Күні: 1 Шілде 2024
Anonim
Java-дағы күндерді салыстырыңыз - Кеңестер
Java-дағы күндерді салыстырыңыз - Кеңестер

Мазмұны

Java-да күндерді салыстырудың бірнеше әдісі бар. Ішкі күн, уақыт уақытының (ұзақ) нүктесі ретінде ұсынылады - 1970 жылдың 1 қаңтарынан бастап өткен миллисекундтар саны. Java-да күн - бұл Date объектісі, демек онда даталарды салыстырудың бірнеше әдісі бар. Екі датаны салыстырудың кез-келген әдісі, негізінен, екі датаның өткен уақытын салыстырады.

Басу үшін

4-тен 1-әдіс: «салыстыру» командасын қолдану

  1. ComparTo қолданыңыз. Күні ComparableDate> енгізеді, сондықтан екі күнді салыстыру әдісі арқылы бір-бірімен тікелей салыстыруға болады. Егер күндер бірдей уақытты көрсетсе, әдіс нөлге тең болады. Егер салыстырылатын күн күн аргументінен бұрын болса, онда теріс мән қайтарылады. Егер салыстырылатын күн күн аргументіне қарағанда кешірек болса, онда оң мән қайтарылады. Егер күндер бірдей болса, нөл қайтарылады.
  2. Күн объектілерін жасаңыз. Сіз оларды салыстыруды бастамас бұрын әр күн нысанын жасауыңыз керек. Мұның бір жолы - SimpleDateFormat сыныбын қолдану. Бұл Date объектілеріне күндерді оңай енгізуге мүмкіндік береді.

      SimpleDateFormat sdf = жаңа SimpleDateFormat («yyyy-MM-dd»); // Жаңа күн нысандарындағы мәндерді жариялау үшін.Күндер жасау кезінде бірдей күн пішімін қолданыңыз Date date1 = sdf.parse («1995-02-23»); // date1 - 23 ақпан, 1995 жыл Date date = = sdf.parse («2001-10-31»); // date2 - 31 қазан 2001 жыл Date date = = sdf.parse («1995-02-23»); // дата3 - 23 ақпан, 1995 жыл

  3. Күн объектілерін салыстырыңыз. Төменде әрбір жағдай көрсетілген - кіші, тең және үлкен.

      date1.compareTo (date2); // date1 date2, 0 date2.compareTo кем (date1); // date2> date1, 0 date1.compareTo (date3) артық қайтарады; // date1 = date3, 0 қайтарады

4-тен 2-әдіс: «тең, кейін және дейін» әдістерін қолдану

  1. Тең, кейін және алдында қолданыңыз. Күндерді бір-бірімен тең, кейін және алдында әдістерін пайдаланып салыстыруға болады. Егер екі күн бірдей уақытты көрсетсе, теңдеу әдісі «шын» мәнін береді. Мысалдар салыстыру әдісі арқылы бұрын жасалған күндерді қолданады.
  2. Алдыңғы әдісті пайдаланып салыстырыңыз. Төмендегі код шын және жалған жағдайларды көрсетеді. Егер date1 date2-ден ертерек болса, нәтиже дұрыс болады. Егер жоқ болса, «false» мәнін қайтарады.

      System.out.print (date1.b oldin (date2)); // шын System.out.print басып шығару (date2.before (date2)); // жалған басып шығару

  3. Мұны кейінгі әдіспен салыстырыңыз. Төмендегі код шын және жалған жағдайларды көрсетеді. Егер date2 date1-ден кеш болса, онда true мәнін қайтарады. Егер жоқ болса, кейін false қайтарады.

      System.out.print (date2.after (date1)); // дұрыс шығарыңыз System.out.print (date1.after (date2)); // жалған басып шығару

  4. Теңдеу әдісі арқылы салыстырыңыз. Төмендегі код шын және жалған жағдайларды көрсетеді. Егер күндер бірдей болса, онда «true» мәні шығады. Егер жоқ болса, онда «false» мәні қайтарылады.

      System.out.print (date1.equals (date3)); // дұрыс шығарыңыз System.out.print (date1.equals (date2)); // false жалғағышын басып шығарыңыз

4-тің 3-әдісі: Күнтізбе класын пайдалану

  1. Күнтізбе класын қолданыңыз. Күнтізбе сыныбында сонымен қатар, жоғарыда көрсетілген күндер сыныбында жұмыс істейтін салыстыру әдісі бар, тең, кейін және алдыңғы әдістер бар. Егер күн туралы мәліметтер күнтізбеде сақталса, онда екі күнді салыстыру үшін «күнді» шығарудың қажеті жоқ.
  2. Күнтізбе данасын жасаңыз. Күнтізбе әдістерін қолдану үшін сізге кейбір күнтізбелік даналар қажет. Бақытымызға орай, сіз уақытты инстанциялар жасаған уақытты пайдалана аласыз.

      Calendar cal1 = Calendar.getInstance (); // cal1 күнтізбесін жариялайды cal2 = Calendar.getInstance (); // cal2 күнтізбесін жариялайды cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) жариялайды; // cal1 cal2.setTime (date2) күнін қолданады; cal3.setTime (күн3);

  3. Бұрын қолданып cal1 және cal2 салыстырыңыз. Төмендегі код true мәнін қайтарады, өйткені cal1 cal2-ге қарағанда ертерек.

      System.out.print (cal1.b oldin (cal2)); // шынайы басып шығару

  4. Кейін қолданып cal1 және cal2 салыстырыңыз. Төмендегі код «false» мәнін береді, өйткені cal1 cal2-ге қарағанда ертерек.

      System.out.print (cal1. after (cal2)); // жалған басып шығару

  5. Cal1 және cal2 теңдіктерін пайдаланып салыстырыңыз. Төмендегі кодта шын және жалған мысалдары көрсетілген. Шарт салыстырылатын күнтізбелік даналарға байланысты. Төмендегі код келесі жолда «true», содан кейін «false» мәнін береді.

      System.out.println (cal1. тең (cal3)); // print true: cal1 == cal3 System.out.print (cal1.equals (cal2)); // жалған басып шығару: cal1! = cal2

4-тен 4-әдіс: «getTime» әдісін қолдану

  1. GetTime пайдаланыңыз. Сондай-ақ, екі уақытты тікелей салыстыруға болады, дегенмен жоғарыда аталған тәсілдердің кез-келгені оқылымды нәтиже беруі мүмкін және осылайша артықшылық беріледі. Бұл деректердің екі қарабайыр типін салыстыру, сондықтан оларды «», «>» және «==» көмегімен жасауға болады.
  2. «Ұзақ» уақыт объектілерін жасаңыз. Күндерді салыстырудан бұрын, бұрын жасалған Date объектілерінің деректерінен ұзын бүтін сандар жасау керек. Бақытымызға орай, getTime () әдісі сіз үшін жұмыстың көп бөлігін жасайды.

      long time1 = getTime (дата1); // дата1 уақытының1 қарабайыр уақытын жариялайды1 ұзақ уақыт2 = getTime (дата2); // датаның2 қарабайыр уақытын2 жариялайды

  3. «Кем» теңдеуін қолданыңыз. Осы екі бүтін мәнді салыстыру үшін «кем» белгісін () пайдаланыңыз. Уақыт1 уақыттан2 аз болғандықтан, бірінші хабарлама экранға басылуы керек. Else операторы дұрыс синтаксис үшін енгізілген.

      егер (уақыт1 уақыт2) {System.out.println («дата1 дата2-ден ерте»); // басып шығару, өйткені time1 time2} else {System.out.println («date1 дата2-ден кеш немесе оған тең»); }

  4. «Үлкенірек» салыстыруды жасаңыз. Осы екі бүтін санды салыстыру үшін «үлкен» белгісін (>) пайдаланыңыз. Уақыт1 уақыт2-ден үлкен болғандықтан, бірінші хабар экранға шығарылады. Else операторы дұрыс синтаксис үшін енгізілген.

      егер (уақыт2> уақыт1) {System.out.println («date2 date1 күннен кейін келеді»); // басып шығарыңыз, өйткені time2> time1} else {System.out.println («date2 date1тен ерте немесе оған тең»); }

  5. «Тең» салыстыруды жасаңыз. Осы екі бүтін санды салыстыру үшін (==) таңбаны пайдаланыңыз. Уақыт1 уақытқа3 тең болғандықтан, бірінші хабарлама басылуы керек. Егер бағдарлама else операторына жетсе, онда уақыт бірдей емес деген сөз.

      егер (уақыт1 == уақыт2) {System.out.println («Күндер тең»); } else {System.out.println («Күндер тең емес»); // басып шығар, өйткені уақыт1! = уақыт2}