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

จะเปรียบเทียบวันที่สองวันกับเวลาใน Java ได้อย่างไร


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

ตัวอย่าง

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

ผลลัพธ์

2007-11-25T10:15:45 อยู่หลัง 1999-09-12T07:25:55

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.text.ParseException; นำเข้า java.text.SimpleDateFormat; นำเข้า java.util.Date คลาสสาธารณะ CreateDateTime { โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่น ParseException { สตริง dateTimeStr1 ="26-09-1989 8:27:45"; สตริง dateTimeStr2 ="12-11-2010 2:30:12"; //การสร้างตัวอย่างคลาส SimpleDateFormat ตัวจัดรูปแบบ SimpleDateFormat =new SimpleDateFormat("dd-MM-yyyy HH:mm:SS"); วันที่ dateTime1 =formatter.parse (dateTimeStr1); วันที่ dateTime2 =formatter.parse (dateTimeStr2); บูลีน bool1 =dateTime1.after (dateTime2); bool2 บูลีน =dateTime1.before(dateTime2); บูลีน bool3 =dateTime1.equals (dateTime2); if(bool1){ System.out.println(dateTimeStr1+" อยู่หลัง "+dateTimeStr2); } อย่างอื่น if(bool2){ System.out.println(dateTimeStr1+" อยู่ก่อน "+dateTimeStr2); } อย่างอื่น if(bool3){ System.out.println(dateTimeStr1+" เท่ากับ "+dateTimeStr2); } }}

ผลลัพธ์

26-09-1989 8:27:45 ก่อน 12-11-2010 2:30:12