ในการเขียนโปรแกรม Java อาจมีบางกรณีที่จำเป็นต้องวัดเวลาเป็นวินาทีหรือนาโนวินาที ตัวอย่างเช่น การเปรียบเทียบและคำนวณความแตกต่างของเวลาระหว่างกรอบเวลาต่างๆ หรือการส่งคืนนาที วินาที หรือนาโนวินาทีที่คำนวณได้ ในกรณีดังกล่าว “ ระยะเวลาชั้น ” ใน Java ช่วยในการทำงานกับฟังก์ชันที่เกี่ยวข้องกับเวลาได้อย่างมีประสิทธิภาพ
บล็อกนี้จะอธิบายอย่างละเอียดเกี่ยวกับการใช้ “Duration Class” ใน Java
Java Duration Class คืออะไร?
“ ระยะเวลา ” เป็นคลาสตามค่าที่มีอยู่ในไลบรารีเวลา Java ที่ใช้ในการวัดเวลาเป็นวินาทีและนาโนวินาที นอกจากนี้ คลาสนี้ไม่สามารถเปลี่ยนรูปได้และปลอดภัยต่อเธรด
วิธีการของ Duration Class
ต่อไปนี้เป็นวิธีการที่สำคัญของคลาส Duration:
วิธีการ | การใช้งาน |
addTo (ชั่วขณะชั่วคราว) | ใช้เพื่อเพิ่มระยะเวลานี้ให้กับวัตถุทางโลกโดยเฉพาะ |
รับ (หน่วยชั่วคราว) | ใช้เพื่อดึงค่าหน่วยที่ร้องขอ |
เอบีเอส () | มันให้สำเนาของความยาวที่เป็นบวก |
ระยะเวลาระหว่าง (Temporal startInclusive, Temporal endExclusive) | วิธีนี้ค้นหาระยะเวลาระหว่างสองวัตถุ (ชั่วคราว) |
บวก (ระยะเวลา ระยะเวลา) | ใช้เพื่อให้สำเนาของช่วงเวลานี้พร้อมกับระยะเวลาที่เพิ่มเข้ามา |
ลบ (ระยะเวลา ระยะเวลา) | วิธีนี้ใช้เพื่อให้สำเนาของระยะเวลานี้พร้อมกับลบระยะเวลาที่ให้ไว้ |
เก็ทนาโน() | ดึงข้อมูลนาโนวินาทีในวินาทีในช่วงเวลานี้ |
รับวินาที () | ดึงข้อมูลวินาทีในช่วงเวลานี้ |
ของ (จำนวนยาว, หน่วยชั่วคราว) | วิธีนี้ได้รับระยะเวลาที่สอดคล้องกับจำนวนเงินในหน่วยที่ให้มา |
วินาที (วินาทียาว) | ได้รับ Duration ที่อ้างอิงถึงจำนวนวินาที |
ของนาโน (ลองอิน) | ได้รับระยะเวลาที่สอดคล้องกับจำนวนนาโนวินาที |
ofMinutes (นาทียาว) | ได้รับ Duration ระบุจำนวนนาที |
ofMillis (มิลลิวินาทียาว) | วิธีนี้ได้รับระยะเวลาที่แสดงถึงมิลลิวินาที |
ofHours (ชั่วโมงยาว) | ได้รับระยะเวลาที่อ้างอิงถึงชั่วโมงมาตรฐาน/เริ่มต้น |
ของวัน(วันที่ยาวนาน) | จะได้รับระยะเวลาที่ระบุจำนวนวันมาตรฐาน/เริ่มต้น 24 ชั่วโมง |
เปรียบเทียบกับ (ระยะเวลา x) | จะเปรียบเทียบระยะเวลาที่กำหนดกับระยะเวลาที่กำหนด |
ระยะเวลาระหว่าง (Temporal startIncl, Temporal endExcl) | ได้รับระยะเวลาที่สอดคล้องกับระยะเวลาระหว่างสองวัตถุ (ชั่วขณะ) |
แยกวิเคราะห์ (ข้อความ CharSequence) | วิธีการนี้ดึงระยะเวลาจากสตริงข้อความ |
จาก(จำนวนเงินชั่วคราว) | มันดึงอินสแตนซ์ของ Duration ผ่านจำนวนเงินชั่วคราว |
ทีนี้มาใช้วิธี “Duration Class” กันบ้าง
ก่อนดำเนินการตามตัวอย่าง ให้นำเข้าแพ็คเกจด้านล่างเพื่อทำงานร่วมกับ ' ระยะเวลา ' ระดับ:
นำเข้า java.time.Duration;
ตัวอย่างที่ 1: การใช้เมธอด Duration Class “between()”, “get()” และ “isNegative()” ใน Java
ตัวอย่างนี้ใช้วิธีการที่กล่าวถึงและส่งกลับผลลัพธ์ที่เกี่ยวข้องเป็นบูลีนหรือในรูปแบบของวินาทีที่คำนวณ:
ระยะเวลาเรียนสาธารณะ {โมฆะสาธารณะคงหลัก ( สตริง [ ] หาเรื่อง ) {
Duration timeDiff1 = Duration.between ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.isNegative ( ) ) ;
System.out.println ( เวลาDiff1.get ( ChronoUnit.วินาที ) ) ;
Duration timeDiff2 = Duration.between ( LocalTime.NOON, LocalTime.MAX ) ;
System.out.println ( timeDiff2.isNegative ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.วินาที ) ) ;
} }
ในบรรทัดโค้ดด้านบน:
- ก่อนอื่น ใช้ “ ระหว่าง() ” class(Duration) method เพื่อคืนค่าความแตกต่างของเวลาระหว่างเวลาที่ระบุ
- บันทึก: “ สูงสุด ” สอดคล้องกับ “ 23:59:59.99 ' และ ' เวลาท้องถิ่น เที่ยงวัน ” หมายถึง “ 12:00 น '.
- หลังจากนั้นเชื่อมโยง “ เป็นค่าลบ() ” วิธีการที่มีความแตกต่างจากการคำนวณเพื่อวิเคราะห์ว่าความแตกต่างของเวลาเป็นค่าลบหรือไม่โดยส่งคืนผลลัพธ์บูลีน
- นอกจากนี้ ให้ใช้ “ รับ() ” วิธีการดึงผลต่างที่คำนวณได้
- ตอนนี้ ใช้ “ ระหว่าง() ” วิธีการอีกครั้งโดยการแลกเปลี่ยนกรอบเวลาและทำซ้ำแนวทางที่กล่าวถึงเพื่อวิเคราะห์ค่าและส่งคืนความแตกต่าง
เอาต์พุต
ในผลลัพธ์นี้ สามารถสังเกตได้ว่าความแตกต่างของเวลาที่สอดคล้องกันถูกคำนวณและประเมินค่าลบตามนั้น
ก่อนไปที่ตัวอย่างถัดไป ตรวจสอบให้แน่ใจว่าได้นำเข้าแพ็คเกจเพิ่มเติมต่อไปนี้เพื่อใช้งานกับวันที่และเวลา:
นำเข้า java.time.temporal.ChronoUnit;
ตัวอย่างที่ 2: การใช้เมธอด Duration Class “จาก()”, “getDuration()” และ “toMinutes()”
ในตัวอย่างนี้ วิธีการที่กล่าวถึงสามารถนำไปใช้เพื่อดึงระยะเวลาเป็นชั่วโมงและดึงข้อมูลเป็นนาที:
คลาสสาธารณะ Durationtime2 {โมฆะสาธารณะคงหลัก ( สตริง [ ] หาเรื่อง ) {
Duration dur = Duration.จาก ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'ระยะเวลาเป็นนาที -> ' +dur.toนาที ( ) ) ;
} }
ในบล็อกโค้ดนี้ ใช้การรวม “ จาก() ' และ ' รับระยะเวลา () ” วิธีการดึงระยะเวลาเป็นชั่วโมง หลังจากนั้นเชื่อมโยง “ ถึงนาที () ” วิธีการคืนระยะเวลาเป็นนาทีแทน
เอาต์พุต
จากผลลัพธ์ข้างต้น จะเห็นได้ว่ามีการดึงข้อมูลนาทีที่เกี่ยวข้องในหนึ่งชั่วโมงอย่างเหมาะสม
บทสรุป
“ ระยะเวลา ” เป็นคลาสตามค่าในไลบรารีเวลาของ Java ที่ใช้ในการวัดเวลาเป็นวินาทีและนาโนวินาที นอกจากนี้ยังสามารถเรียกใช้โดยใช้หน่วยตามระยะเวลาอื่นๆ เช่น “นาที” และ “ชั่วโมง” คลาสนี้สามารถใช้เพื่อคำนวณความแตกต่างของเวลาระหว่างกรอบเวลาหรือส่งคืนระยะเวลาในรูปแบบเฉพาะ เช่น “ นาที '. บทความนี้สาธิตการใช้งาน Java “Duration Class”