Java 8 มีไลบรารีใหม่ทั้งหมดสำหรับวันที่และเวลาในแพคเกจ java.time ซึ่งเป็นสิ่งที่น่ายินดีอย่างมากสำหรับทุกคนที่ต้องใช้ JodaTime มาก่อนหรือสร้างความยุ่งยากด้วยการทำให้เป็นวิธีการประมวลผลตัวช่วยนัดเดทเอง ชั้นเรียนจำนวนมากในแพ็คเกจนี้เป็นตัวแทนของการประทับเวลาและมีวิธีการช่วยเหลือที่getHour()
จะได้รับชั่วโมงจากการประทับเวลาที่getMinute()
จะได้รับนาทีจากการประทับเวลาที่getNano()
จะได้รับ nanos จากการประทับเวลา ฯลฯ ...
ฉันสังเกตเห็นว่าพวกเขาไม่มีวิธีที่เรียกว่าgetMillis()
รับมิลลิวินาทีของการประทับเวลา แต่จะต้องมีวิธีการโทรget(ChronoField.MILLI_OF_SECOND)
แทน สำหรับฉันดูเหมือนว่าไม่สอดคล้องกันในห้องสมุด ไม่มีใครรู้ว่าทำไมวิธีการดังกล่าวหายไปหรือเป็น Java 8 ยังอยู่ในการพัฒนามีความเป็นไปได้ที่จะเพิ่มในภายหลัง?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
คลาสที่กำหนดไว้ที่นี่แสดงถึงแนวคิดหลักของวันที่และเวลารวมถึงอินสแตนซ์, ระยะเวลา, วันที่, เวลา, เขตเวลาและช่วงเวลา พวกเขาใช้ระบบปฏิทิน ISO ซึ่งเป็นปฏิทินโลกตามความเป็นจริงตามกฎเกรกอเรียน ชั้นเรียนทั้งหมดไม่เปลี่ยนแปลงและปลอดภัยต่อเธรด
แต่ละอินสแตนซ์เวลาของวันที่ประกอบด้วยฟิลด์ที่ APIs ให้บริการ สำหรับการเข้าถึงระดับล่างไปยังฟิลด์อ้างถึง
java.time.temporal
แพคเกจ แต่ละชั้นเรียนมีการสนับสนุนสำหรับการพิมพ์และการแยกวิเคราะห์ทุกวันและเวลา อ้างถึงjava.time.format
แพ็คเกจสำหรับตัวเลือกการปรับแต่ง ...
ตัวอย่างของคลาสประเภทนี้:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
วันที่และเวลาที่ไม่มีเขตเวลาในระบบปฏิทิน ISO-8601 เช่น 2007-12-03T10: 15: 30
LocalDateTime
เป็นออบเจ็กต์วันที่และเวลาที่ไม่เปลี่ยนรูปแบบซึ่งแสดงถึงวันที่และเวลาซึ่งมักถูกมองว่าเป็นปีเดือนเดือนวันชั่วโมงนาทีวินาที ฟิลด์วันที่และเวลาอื่น ๆ เช่นวันของปีวันของสัปดาห์และสัปดาห์ของปีก็สามารถเข้าถึงได้เช่นกัน เวลาแสดงด้วยความแม่นยำระดับนาโนวินาที ตัวอย่างเช่นค่า "2 ตุลาคม 2550 เวลา 13: 45.30.123456789" สามารถเก็บไว้ในLocalDateTime
...
Instant
คลาส
get()
แทนที่จะให้พวกเขาแต่ละชื่อเฉพาะ ถ้ามันรบกวนคุณเขียนคลาสที่สืบทอดคลาสดั้งเดิมและวางgetMillis()
วิธีการของคุณเองในคลาสใหม่