Java дээрх хоёр огноог харьцуулах 4 арга

Агуулгын хүснэгт:

Java дээрх хоёр огноог харьцуулах 4 арга
Java дээрх хоёр огноог харьцуулах 4 арга

Видео: Java дээрх хоёр огноог харьцуулах 4 арга

Видео: Java дээрх хоёр огноог харьцуулах 4 арга
Видео: Inkscape: Өгөгдмөл тохиргоог хэрхэн өөрчлөх вэ 2024, Дөрөвдүгээр сар
Anonim

Java огноог харьцуулах янз бүрийн арга байдаг. Дотооддоо бол огноог цаг хугацааны (урт) цэгээр илэрхийлдэг - 1970 оны 1 -р сарын 1 -ээс хойш өнгөрсөн миллисекундын тоо. Java дээр Огноо бол объект бөгөөд энэ нь харьцуулах олон аргыг агуулдаг гэсэн үг юм. Хоёр огноог харьцуулах аливаа аргыг үндсэндээ огнооны цагийг харьцуулах болно.

Алхам

4 -ийн 1 -р арга: харьцуулалтыг ашиглах

4301351 1
4301351 1

Алхам 1. CompareTo ашиглана уу

Огноо харьцуулах боломжтой байдаг тул хоёр огноог шууд харьцуулах аргаар харьцуулж болно. Хэрэв огноо нь тухайн цаг хугацааны хувьд байвал энэ арга нь тэгийг буцаана. Хэрэв харьцуулж буй огноо огнооны аргументээс өмнө байвал тэгээс бага утгыг буцаана. Хэрэв харьцуулж буй огноо огнооны аргументын дараа байвал тэгээс их утга буцаана. Хэрэв огноо тэнцүү байвал 0 гэсэн утгыг буцаана.

4301351 2
4301351 2

Алхам 2. Огнооны объектуудыг үүсгэх

Та харьцуулж эхлэхээсээ өмнө огнооны объект бүрийг үүсгэх шаардлагатай болно. Үүнийг хийх нэг арга бол SimpleDateFormat класс ашиглах явдал юм. Энэ нь огнооны объектын огнооны утгыг хялбархан оруулах боломжийг олгодог.

    SimpleDateFormat sdf = шинэ SimpleDateFormat ("yyyy-MM-dd"); // Шинэ огнооны объектуудад утгыг тунхаглахад зориулагдсан болно. огноо үүсгэх үед ижил огнооны форматыг ашиглах Date date1 = sdf.parse ("1995-02-23"); // огноо1 бол 1995 оны 2-р сарын 23, огноо огноо2 = sdf.parse ("2001-10-31"); // огноо2 бол 2001 оны 10-р сарын 31, огноо огноо3 = sdf.parse ("1995-02-23"); // огноо3 бол 1995 оны 2 -р сарын 23

4301351 3
4301351 3

Алхам 3. Огнооны объектыг харьцуулж үзээрэй

Доорх код нь тохиолдол бүрийг харуулах болно - бага, тэнцүү, их.

    огноо1.compareTo (огноо2); // огноо1 <огноо2, 0 -ээс бага огноог буцаана2.compareTo (огноо1); // огноо2> огноо1, 0 -ээс их буцаана огноо1.compareTo (огноо3); // огноо1 = огноо3, тэгэхээр консол болгохын тулд 0 -ийг хэвлэх болно

4 -ийн 2 -р арга: Equals, After, Before -ийг ашиглах

4301351 4
4301351 4

Алхам 1. Дараа болон өмнө тэнцүү ашиглана уу

Огноог аргуудын дараа ба өмнөхтэй тэнцүү харьцуулж болно. Хэрэв хоёр огноо нэг цаг хугацааны хувьд байвал тэнцүүлэх арга нь үнэн болж буцах болно. Жишээнүүд нь харьцуулахын тулд өмнө үүсгэсэн огноог ашиглах болно.

4301351 5
4301351 5

Алхам 2. Өмнөх аргыг ашиглан харьцуулна уу

Доорх код нь үнэн, худал хэргийг харуулав. Хэрэв огноо1 нь огнооноос 2 бол өмнө нь үнэн буцаана. Хэрэв тийм биш бол худал хуурмагийг буцаана.

    System.out.print (огноо1. Өмнө (огноо2)); // үнэн System.out.print хэвлэнэ (date2.before (date2)); // худал хэвлэнэ

4301351 6
4301351 6

Алхам 3. After аргыг ашиглан харьцуулна уу

Доорх код нь үнэн, худал хэргийг харуулав. Хэрэв date2 нь огнооны 1 -ээс хойш байвал, дараа нь буцаана. Хэрэв тийм биш бол худал өгсний дараа буцаана.

    System.out.print (date2.after (date1)); // үнэн System.out.print (date1.after (date2));

4301351 7
4301351 7

Алхам 4. Equals аргыг ашиглан харьцуулж үзээрэй

Доорх код нь үнэн, худал хэргийг харуулав. Хэрэв огноо тэнцүү байвал тэнцүү нь буцаана. Хэрэв тийм биш бол тэнцүү нь худлаа буцаана.

    System.out.print (date1.equals (date3)); // үнэн System.out.print (огноо1. тэнцүү (огноо2));

4 -ийн 3 -р арга: Календарийн ангийг ашиглах

4301351 8
4301351 8

Алхам 1. Календарийг ашиглана уу

Хуанлийн анги нь огнооны ангиллын хувьд дээр дурдсантай ижил аргаар ажилладаг, дараа болон өмнө харьцуулах аргуудыг агуулдаг. Тиймээс хэрэв огнооны мэдээллийг хуанлид хадгалдаг бол харьцуулахын тулд огноог задлах шаардлагагүй болно.

4301351 9
4301351 9

Алхам 2. Календарийн жишээ үүсгэх

Календарийн аргыг ашиглахын тулд танд хэд хэдэн хуанлийн жишээ хэрэгтэй болно. Аз болоход, та аль хэдийн үүсгэсэн Огнооны тохиолдлоос цаг авах боломжтой.

    Календар кал1 = Calendar.getInstance (); // cal1 хуанлийг зарлана cal2 = Calendar.getInstance (); // cal2 календарийг зарладаг cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) гэж тунхагладаг; // огноог cal1 cal2.setTime (date2) -д хэрэглэнэ; cal3.setTime (огноо3);

4301351 10
4301351 10

Алхам 3. Өмнө нь ашиглаж буй cal1 ба cal2 -ийг харьцуулж үзээрэй

Cal1 нь cal2 -ээс өмнө байдаг тул доорх код үнэн хэвлэгдэх ёстой.

    System.out.print (cal1.before (cal2)); // үнэн хэвлэх болно

4301351 11
4301351 11

Алхам 4. after1 ашиглан cal1 ба cal2 -ийг харьцуулж үзээрэй

Cal1 нь cal2 -ээс өмнө байдаг тул доорх код худал хэвлэх ёстой.

    System.out.print (cal1.after (cal2)); // худал хэвлэнэ

4301351 12
4301351 12

Алхам 5. Cal1 ба cal2 -ийг тэнцүү ашиглан харьцуулж үзээрэй

Доорх код нь үнэн ба худал хэргийн аль алиных нь жишээг харуулах болно. Нөхцөл байдал нь харьцуулж буй хуанлийн тохиолдлоос хамаарна. Код нь дараагийн мөрөнд "үнэн", дараа нь "худал" гэж хэвлэх ёстой.

    System.out.println (cal1.equals (cal3)); // үнэн хэвлэнэ: cal1 == cal3 System.out.print (cal1.equals (cal2)); // худал хэвлэнэ: cal1! = cal2

4 -ийн 4 -р арга: getTime ашиглах

4301351 13
4301351 13

Алхам 1. getTime ашиглана уу

Хоёр огнооны цагийн цэгийг шууд харьцуулах боломжтой боловч өмнөх аргуудын аль нэг нь илүү унших боломжтой бөгөөд илүү тохиромжтой байдаг. Энэ нь хоёр энгийн өгөгдлийн төрлүүдийн харьцуулалт байх тул үүнийг "", "==" ашиглан хийж болно.

4301351 14
4301351 14

Алхам 2. Урт хугацааны объектуудыг үүсгэх

Огноог харьцуулахын өмнө та өмнө нь үүсгэсэн Огноо обьектуудын өгөгдөлтэй урт бүхэл тоог үүсгэх ёстой. Аз болоход getTime () арга нь таны ихэнх ажлыг хийх болно.

    урт хугацаа1 = getTime (огноо1); // огнооноос эхлэн цагийг1 гэж зарладаг1 урт хугацаа2 = getTime (огноо2); // огнооноос эхлэн энгийн цаг2 -ийг зарлана

4301351 15
4301351 15

Алхам 3. Харьцуулахаас бага зүйл хий

Эдгээр хоёр бүхэл утгыг харьцуулахын тулд бага тэмдэг (<) ашиглана уу. Time1 нь 2 -оос бага хугацаатай тул эхний зурвас хэвлэгдэх ёстой. Else хэллэгийг зохих синтаксийн хувьд оруулсан болно.

    if (time1 <time2) {System.out.println ("огноо1 нь огнооноос өмнөх 2"); // цаг1 -ээс хойш хэвлэгдэх болно <time2} else {System.out.println ("date1 нь огнооноос өмнө биш 2"); }

4301351 16
4301351 16

Алхам 4. Харьцуулалтаас илүү том зүйлийг хий

Эдгээр хоёр бүхэл утгыг харьцуулахын тулд томоос том тэмдэг (>) ашиглана уу. Time1 нь 2 -р хугацаанаас том тул эхний зурвас хэвлэгдэх ёстой. Else хэллэгийг зохих синтаксийн хувьд оруулсан болно.

    if (time2> time1) {System.out.println ("date2 нь огнооны дараа байна"); // time2> time1} өөр {System.out.println ("date2 нь огнооны дараа биш") оноос хойш хэвлэгдэх болно; }

4301351 17
4301351 17

Алхам 5. Тэнцүү харьцуулалт хий

Тэнцвэрийг шалгахын тулд тэмдгийг ашиглан (==) тэгшитгэлийн эдгээр хоёр бүхэл утгыг харьцуулна уу. Time1 нь time3 -тэй тэнцүү тул эхний зурвас хэвлэгдэх ёстой. Хэрэв програм нь өөр мэдэгдэлд орвол энэ нь цаг хугацаа тэнцүү биш гэсэн үг юм.

    if (time1 == time2) {System.out.println ("огноо тэнцүү"); } өөр {System.out.println ("огноо тэнцүү биш"); // 1 цагаас хойш хэвлэх болно! = цаг2}

Зөвлөмж болгож буй: