Temporal Field คือฟิลด์ของวันที่-เวลา เช่น hour-of-minute หรือ nano-of-second ฟิลด์เหล่านี้ถูกแทนด้วยอินเทอร์เฟซ TemporalField และคลาส ChronoField implement อินเทอร์เฟซนี้
รายการ Time Temporal Fields ที่ ChronoField รองรับ
| Field | คำอธิบาย |
| CLOCK_HOUR_OF_AMPM | ชั่วโมงของวันแบบนาฬิกา (AM/PM) 1-12 |
| AMPM_OF_DAY | AM/PM ของวัน (0=AM, 1=PM) |
| CLOCK_HOUR_OF_DAY | ชั่วโมงของวันแบบนาฬิกา 1-24 |
| HOUR_OF_AMPM | ชั่วโมงของวัน (AM/PM) 0-11 |
| HOUR_OF_DAY | ชั่วโมงของวัน 0-23 |
| INSTANT_SECONDS | วินาทีจาก epoch |
| MICRO_OF_DAY | ไมโครวินาทีของวัน |
| MICRO_OF_SECOND | ไมโครวินาทีของวินาที |
| MILLI_OF_DAY | มิลลิวินาทีของวัน |
| MILLI_OF_SECOND | มิลลิวินาทีของวินาที |
| MINUTE_OF_DAY | นาทีของวัน |
| MINUTE_OF_HOUR | นาทีของชั่วโมง |
| MONTH_OF_YEAR | เดือนของปี |
| NANO_OF_DAY | แนนาวินาทีของวัน |
| NANO_OF_SECOND | แนนาวินาทีของวินาที |
| OFFSET_SECONDS | ออฟเซตจาก UTC/Greenwich |
| PROLEPTIC_MONTH | เดือนโพรเลปติก (เดือนนับจาก epoch) |
| SECOND_OF_DAY | วินาทีของวัน |
| SECOND_OF_MINUTE | วินาทีของนาที |
ตัวอย่างการใช้งานกับ LocalTime
import java.time.LocalTime;
import java.time.temporal.ChronoField;
public class Demo {
public static void main(String args[]) {
LocalTime lTime = LocalTime.now();
System.out.println("เวลาปัจจุบัน: " + lTime);
int field = lTime.get(ChronoField.CLOCK_HOUR_OF_AMPM);
System.out.println("ชั่วโมงของวัน (AM/PM): " + field);
field = lTime.get(ChronoField.AMPM_OF_DAY);
System.out.println("AM หรือ PM: " + field);
field = lTime.get(ChronoField.CLOCK_HOUR_OF_DAY);
System.out.println("ชั่วโมงของวัน (1-24): " + field);
long epoch = lTime.getLong(ChronoField.MINUTE_OF_DAY);
System.out.println("นาทีของวัน: " + epoch);
field = lTime.get(ChronoField.MINUTE_OF_HOUR);
System.out.println("นาทีของชั่วโมง: " + field);
field = lTime.get(ChronoField.SECOND_OF_DAY);
System.out.println("วินาทีของวัน: " + field);
field = lTime.get(ChronoField.SECOND_OF_MINUTE);
System.out.println("วินาทีของนาที: " + field);
}
}
ผลลัพธ์ตัวอย่าง
เวลาปัจจุบัน: 17:02:46.294
ชั่วโมงของวัน (AM/PM): 5
AM หรือ PM: 1
ชั่วโมงของวัน (1-24): 17
นาทีของวัน: 1022
นาทีของชั่วโมง: 2
วินาทีของวัน: 61366
วินาทีของนาที: 46
คำอธิบายค่าที่ได้
- CLOCK_HOUR_OF_AMPM = 5: เวลา 17:02 คือ 5 โมงเย็น (PM)
- AMPM_OF_DAY = 1: 1 = PM, 0 = AM
- CLOCK_HOUR_OF_DAY = 17: แบบ 24 ชั่วโมง
- MINUTE_OF_DAY = 1022: 17 ชม. × 60 + 2 นาที = 1022
- SECOND_OF_DAY = 61366: 1022 นาที × 60 + 46 วินาที = 61366
ความแตกต่างระหว่าง HOUR และ CLOCK_HOUR
| Field | ช่วงค่า | คำอธิบาย |
| HOUR_OF_AMPM | 0-11 | 0 = 12 AM, 11 = 11 AM/PM |
| CLOCK_HOUR_OF_AMPM | 1-12 | 1 = 1 AM/PM, 12 = 12 AM/PM |
| HOUR_OF_DAY | 0-23 | 0 = เที่ยงคืน, 23 = 11 โมงเย็น |
| CLOCK_HOUR_OF_DAY | 1-24 | 1 = 1 โมงเช้า, 24 = เที่ยงคืน |