Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

มีวิธีใดบ้างในการเปรียบเทียบวันที่ใน Java


การใช้คลาส LocalDate

java.time.LocalDate class แทนวันที่ในเครื่อง เช่น วันที่ไม่มีเขตเวลา คุณสามารถใช้วัตถุนี้แทนวันที่ได้ คลาสนี้มีวิธีการต่างๆ เช่น isBefore(), isAfter() และ isEqual() เพื่อเปรียบเทียบสองวันที่ -

ตัวอย่าง

<ก่อน>นำเข้า java.time.LocalDate; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args []) { LocalDate date1 =LocalDate.of (2007, 11, 25); LocalDate date2 =LocalDate.of (1999, 9, 12); บูลีน bool1 =date1.isAfter(date2); bool2 บูลีน =date1.isBefore(date2); บูลีน bool3 =date1.isEqual(date2); if(bool1){ System.out.println(date1+" อยู่หลัง "+date2); } อื่น if(bool2){ System.out.println(date1+" อยู่ก่อน "+date2); } else if(bool3){ System.out.println(date1+" เท่ากับ "+date2); } }}

ผลลัพธ์

 

2007-11-25 อยู่หลัง 1999-09-12

การใช้คลาส Date

java.util.Date class แสดงถึงเวลาทันทีเฉพาะ คลาสนี้มีวิธีการต่างๆ เช่น before(), after() และ equals() เพื่อเปรียบเทียบสองวันที่ -

ตัวอย่าง

นำเข้า java.text.ParseException; นำเข้า java.text.SimpleDateFormat; นำเข้า java.time.LocalDate; นำเข้า java.util.Date; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) พ่น ParseException { ตัวจัดรูปแบบ SimpleDateFormat =ใหม่ SimpleDateFormat("yyyy-dd-MM"); //การแยกวิเคราะห์วัตถุสตริงให้เป็นวันที่ Date date1 =formatter.parse("2007-11-25"); วันที่ date2 =formatter.parse("1999-9-12"); bool1 บูลีน =date1.after(date2); bool2 บูลีน =date1.before(date2); bool3 บูลีน =date1.equals(date2); if(bool1){ System.out.println(date1+" อยู่หลัง "+date2); } อื่น if(bool2){ System.out.println(date1+" อยู่ก่อน "+date2); } else if(bool3){ System.out.println(date1+" เท่ากับ "+date2); } }}

ผลลัพธ์

 

อา. 11 ม.ค. 00:00:00 น. IST 2009 อยู่หลัง พฤ ธ.ค. 09 00:00:00 น. IST 1999

การใช้คลาสปฏิทิน

คล้ายกับคลาส Date คลาสปฏิทินมีวิธีการต่างๆ เช่น before(), after() และ equals() เพื่อเปรียบเทียบสองวันที่ -

ตัวอย่าง

นำเข้า java.util.Calendar;คลาสสาธารณะ ตัวอย่าง { public static void main(String args[]) { Calendar obj1 =Calendar.getInstance(); obj1.set(2007, 11, 25); ปฏิทิน obj2 =Calendar.getInstance(); obj2.set(1999, 9, 15); bool1 บูลีน =obj1.after(obj2); bool2 บูลีน =obj1.before(obj2); bool3 บูลีน =obj1.equals(obj2); if(bool1){ System.out.println(obj1+" อยู่หลัง "+obj2); } อย่างอื่น if(bool2){ System.out.println(obj1+" อยู่ก่อน "+obj2); } else if(bool3){ System.out.println(obj1+" เท่ากับ "+obj2); } }}

ผลลัพธ์

 

java.util.GregorianCalendar[เวลา=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=7,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=11,WEEK_OF_YEAR=45,WEEK_OF_MONTH=1,DAY_OF_MONTH=25,DAY_OF_YEAR=312,DAY_OF_WE=7 ,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=33,SECOND=47,MILLISECOND=366,ZONE_OFFSET=19800000,DST_OFFSET=0] อยู่หลัง java.util.GregorianCalendar[time=?,areFieldsSet =false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=7,lastRule=null], firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1999,MONTH=9,WEEK_OF_YEAR=45,WEEK_OF_MONTH=1,DAY_OF_MONTH=15,DAY_OF_YEAR=312,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_PMMONTH=1,HAM=9,HOUR_OF_DAY=21,MINUTE=33,SECOND=47,MILLISECOND=392,ZONE_OFFSET=19800000,DST_OFFSET=0]