วิธีใช้ Java Duration Class

Withi Chi Java Duration Class



ในการเขียนโปรแกรม 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”