1. LocalTimeชั้นเรียน

ชั้นเรียน นี้LocalTimeสร้างขึ้นสำหรับกรณีที่คุณต้องทำงานตามเวลาแต่ไม่มีวันที่ ตัวอย่างเช่น สมมติว่าคุณกำลังเขียนแอปพลิเคชันนาฬิกาปลุก คุณสนใจเกี่ยวกับเวลา แต่ไม่สนใจวันที่

คลาส นั้นLocalTimeคล้ายกับLocalDateคลาสมาก - วัตถุของคลาสนั้นไม่สามารถเปลี่ยนแปลงได้เช่นเดียวกันหลังจากสร้าง

รับเวลาปัจจุบัน

ในการสร้างวัตถุใหม่LocalTimeคุณต้องใช้now()วิธี การแบบคงที่ ตัวอย่าง:

LocalTime time = LocalTime.now();

timeตัวแปร อยู่ที่ไหนLocalTimeและเป็นการเรียกเมธอดแบบสแตติกของคลาสLocalTime.now()now()LocalTime

ตัวอย่าง:

รหัส เอาต์พุตคอนโซล
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

จุดตามด้วยจำนวนนาโนวินาทีปัจจุบัน

2. รับเวลาที่กำหนด

เพื่อให้ได้เวลาที่แน่นอน คุณต้องใช้of()วิธี คงที่ ตัวอย่าง:

LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);

คุณผ่านไปเป็นชั่วโมง นาที วินาที และนาโนวินาที

ตัวอย่าง:

รหัส เอาต์พุตคอนโซล
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

โดยวิธีการนี้มีอีกสองรูปแบบ:

LocalTime time = LocalTime.of(hours, minutes, seconds);

และ

LocalTime time = LocalTime.of(hours, minutes);

ดังนั้นคุณจึงสามารถใช้สิ่งที่สะดวกกว่าสำหรับคุณ

รับเวลาตามดัชนีวินาที

คุณยังสามารถรับเวลาตามดัชนีวินาทีในหนึ่งวัน ในการทำเช่นนี้ เรามีofSecondOfDay()วิธีการแบบสแตติก:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

โดยวินาทีคือจำนวนวินาทีตั้งแต่เริ่มต้นวัน

ตัวอย่าง:

รหัส เอาต์พุตคอนโซล
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

ใช่ 10,000 วินาทีน้อยกว่าสามชั่วโมงเล็กน้อย มันถูกต้องทั้งหมด

3. รับองค์ประกอบของเวลา

ในการรับค่าขององค์ประกอบเวลาเฉพาะจากLocalTimeวัตถุ เรามีวิธีการเหล่านี้:

วิธี คำอธิบาย
int getHour()
ส่งกลับชั่วโมง
int getMinute()
ส่งกลับนาที
int getSecond()
คืนค่าวินาที
int getNano()
คืนค่านาโนวินาที

ตัวอย่าง:

รหัส เอาต์พุตคอนโซล
LocalTime now = LocalTime.now();
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());

2
46
40
0

4. การเปลี่ยนเวลาในLocalTimeวัตถุ

ชั้นLocalTimeเรียนยังมีวิธีการที่ช่วยให้คุณทำงานกับเวลาได้ การนำเมธอดเหล่านี้ไปปฏิบัตินั้นคล้ายคลึงกับเมธอดของLocalDateคลาส: พวกมันจะไม่เปลี่ยนLocalTimeวัตถุที่มีอยู่ แต่จะส่งคืนอันใหม่พร้อมข้อมูลที่ต้องการแทน

นี่คือวิธีการของLocalTimeชั้นเรียน:

วิธี คำอธิบาย
plusHours(int hours)
เพิ่มชั่วโมง
plusMinutes(int minutes)
เพิ่มนาที
plusSeconds(int seconds)
เพิ่มวินาที
plusNanos(int nanos)
เพิ่มนาโนวินาที
minusHours(int hours)
ลบชั่วโมง
minusMinutes(int minutes)
ลบนาที
minusSeconds(int seconds)
ลบวินาที
minusNanos(int nanos)
ลบนาโนวินาที

ตัวอย่าง:

รหัส เอาต์พุตคอนโซล
LocalTime time = LocalTime.now();
LocalTime time2 = time.plusHours(2);
LocalTime time3 = time.minusMinutes(40);
LocalTime time4 = time.plusSeconds(3600);

System.out.println(time);
System.out.println(time2);
System.out.println(time3);
System.out.println(time4);





10:33:55.978012200
12:33:55.978012200
09:53:55.978012200
11:33:55.978012200

โปรดทราบว่าในแต่ละกรณี เราได้รับเวลาใหม่ที่สัมพันธ์กับtimeวัตถุ ดั้งเดิม ถ้าคุณเพิ่ม3600 secondsเวลา คุณก็เพิ่ม1hourพอดี