หลักการออกแบบที่อยู่เบื้องหลังชั้นเรียนวันที่และเวลาใหม่:
ชั้นเรียนที่ไม่เปลี่ยนรูป
ก่อน java8 คลาสวันที่ไม่แน่นอนทั้งหมด เมื่อเราใช้มันในสภาพแวดล้อมแบบมัลติเธรดโปรแกรมเมอร์ควรยืนยันว่าวัตถุวันที่เป็นเธรดที่ปลอดภัย API วันที่และเวลาของ Java8 ให้ชั้นเรียนที่ไม่เปลี่ยนรูปแบบเธรด โปรแกรมเมอร์ไม่จำเป็นต้องพิจารณาปัญหาการเกิดขึ้นพร้อมกัน
วิธีการออกแบบที่ขับเคลื่อนด้วยโมเดลโดเมน
หมวดหมู่ใหม่ของวันที่และเวลาเป็นไปตาม "การออกแบบที่ขับเคลื่อนด้วยโดเมน" มันเป็นเรื่องง่ายสำหรับนักพัฒนาที่จะเข้าใจฟังก์ชั่นของวิธีการและคลาส
ต่อไปลองดูที่วันที่และเวลาใหม่ APIs:
1.Java.Time.localdate:
LocalDate ให้วันที่เท่านั้น แต่ไม่ใช่ข้อมูลเวลา มันไม่เปลี่ยนรูปและปลอดภัย
แพ็คเกจ org.smarttechie; นำเข้า java.time.localdate; นำเข้า java.time.temporal.chronounit;/*** คลาสนี้แสดงให้เห็นถึง java 8 ข้อมูลและเวลา api*@author siva prasad rao janapati**/ชั้นเรียนสาธารณะ localDate = localDate.now (); System.out.println ("วันที่ท้องถิ่นคือ ::" + localdate); // ค้นหาความยาวของเดือน นั่นคือเดือนนี้มีกี่วัน System.out.println ("จำนวนวันที่มีให้สำหรับเดือนนี้ ::" + localdate.lengthofmonth ()); // รู้ชื่อเดือน System.out.println ("ชื่อเดือนคืออะไร ::" + localdate.getMonth (). name ()); // เพิ่ม 2 วันในวันนี้ System.out.println (localdate.plus (2, Chronounit.days)); // ย่อย 2 วันจากวันนี้ System.out.println (localdate.minus (2, Chronounit.days)); // แปลงสตริงเป็นวันที่ System.out.println (localdate.parse ("2017-04-07")); -2.Java.Time.localtime:
LocalTime เพียงให้ข้อมูลเวลาและไม่ใช่วันที่มันไม่เปลี่ยนรูปและปลอดภัย
แพ็คเกจ org.smarttechie; นำเข้า java.time.localtime; นำเข้า java.time.temporal.chronounit;/*** คลาสนี้แสดงให้เห็นถึง java 8 ข้อมูลและเวลา api*@author siva prasad rao rao janapati**/ชั้นเรียนสาธารณะ localtime = localtime.now (); System.out.println (LocalTime); // รับ Hour of the Day System.out.println ("ชั่วโมงของวัน ::" + localtime.gethour ()); // เพิ่ม 2 ชั่วโมงในเวลา System.out.println (localtime.plus (2, Chronounit.hours)); // เพิ่ม 6 นาทีในเวลา System.out.println (localtime.plusminutes (6)); // ย่อย 2 ชั่วโมงจาก System.out.out.println (localtime.minus (2, Chronounit.hours)); -3.java.time.localdatetime:
LocalDatetime ให้ข้อมูลเกี่ยวกับเวลาและวันที่มันไม่เปลี่ยนรูป
แพ็คเกจ orr.smarttechie; นำเข้า java.time.localdatetime; นำเข้า java.time.temporal.chronounit;/*** คลาสนี้แสดงให้เห็นถึง java 8 ข้อมูลและเวลา api*@author Siva prasad rao rao Janapati ** LocalDateTime Object LocalDateTime LocalDateTime = localDateTime.now (); System.out.println (LocalDatetime); // ค้นหาความยาวของเดือน นั่นคือเดือนนี้มีกี่วัน System.out.println ("จำนวนวันที่มีให้สำหรับเดือนนี้ ::" + localDateTime.getMonth (). ความยาว (จริง)); // รู้ชื่อเดือน System.out.println ("ชื่อเดือนคืออะไร ::" + localDateTime.getMonth (). name ()); // เพิ่ม 2 วันในวันที่วันนี้ System.out.println (localDatetime.plus (2, Chronounit.days)); // ย่อย 2 วันจากวันนี้ System.out.println (localdatetime.minus (2, Chronounit.days)); - 4.Java.Time.Year:
ปีให้ข้อมูลเกี่ยวกับปีมันไม่เปลี่ยนรูปและปลอดภัย
แพ็คเกจ orr.smarttechie; นำเข้า java.time.year; นำเข้า java.time.temporal.chronounit;/*** คลาสนี้แสดงให้เห็นถึง Java 8 ข้อมูลและเวลา api*@author Siva Prasad rao Janapati **/ชั้นเรียนสาธารณะ ปีนี้ (); System.out.println ("ปี ::" + ปี); // รู้ว่าปีคือการก้าวกระโดดหรือไม่ System.out.println ("คือปี ["+ปี+"] ปีกระโดด?"+year.isleap ()); -5.java.time.duration:
ระยะเวลาที่ใช้ในการคำนวณจำนวนวินาทีและจำนวนมิลลิวินาทีที่มีอยู่ระหว่างสองวันที่กำหนด มันไม่เปลี่ยนรูปและปลอดภัย
6.java.time.period:
ระยะเวลาที่ใช้ในการคำนวณจำนวนวันเดือนหรือปีรวมอยู่ระหว่างสองวันที่กำหนด มันไม่เปลี่ยนรูปและปลอดภัย
แพ็คเกจ orr.smarttechie; นำเข้า java.time.localdate; นำเข้า java.time.period; นำเข้า java.time.temporal.chronounit;/*** คลาสนี้แสดงให้เห็นถึง java 8 ข้อมูลและเวลา api*@author siva prasad rao rao Janapati ** args) {localDate localDate = localDate.now (); ระยะเวลา = ระยะเวลาระหว่าง (localdate, localdate.plus (2, chronounit.days)); System.out.println (period.getDays ()); -