Một trường thời gian (temporal field) là một trường của ngày-giờ, chẳng hạn như tháng-trong-năm hoặc giờ-trong-phút. Các trường này được biểu diễn bởi interface TemporalField và lớp ChronoField triển khai interface này.
Dưới đây là danh sách các trường thời gian liên quan đến giờ được hỗ trợ bởi lớp ChronoField:
| Trường | Mô tả |
|---|---|
| CLOCK_HOUR_OF_AMPM | Trường này biểu diễn giờ theo đồng hồ của ngày (am/pm). |
| AMPM_OF_DAY | Trường này biểu diễn am/pm của ngày. |
| CLOCK_HOUR_OF_DAY | Trường này biểu diễn giờ theo đồng hồ của ngày. |
| HOUR_OF_AMPM | Trường này biểu diễn giờ của ngày (am/pm). |
| HOUR_OF_DAY | Trường này biểu diễn giờ của ngày (0-23). |
| INSTANT_SECONDS | Trường này biểu diễn giây epoch tức thời. |
| MICRO_OF_DAY | Trường này biểu diễn micro-giây của ngày. |
| MICRO_OF_SECOND | Trường này biểu diễn micro-giây của giây. |
| MILLI_OF_DAY | Trường này biểu diễn mili-giây của ngày. |
| MILLI_OF_SECOND | Trường này biểu diễn mili-giây của giây. |
| MINUTE_OF_DAY | Trường này biểu diễn phút của ngày. |
| MINUTE_OF_HOUR | Trường này biểu diễn phút của giờ. |
| MONTH_OF_YEAR | Trường này biểu diễn tháng của năm. |
| NANO_OF_DAY | Trường này biểu diễn nano-giây của ngày. |
| NANO_OF_SECOND | Trường này biểu diễn nano-giây của giây. |
| OFFSET_SECONDS | Trường này biểu diễn độ lệch từ UTC/Greenwich. |
| PROLEPTIC_MONTH | Trường này biểu diễn tháng proleptic. |
| SECOND_OF_DAY | Trường này biểu diễn giây của ngày. |
| SECOND_OF_MINUTE | Trường này biểu diễn giây của phút. |
Phương thức get() hoặc getLong() của lớp LocalTime chấp nhận một trường thời gian làm tham số và lấy giá trị của trường đó trong đối tượng hiện tại.
Ví dụ
import java.time.LocalTime;
import java.time.temporal.ChronoField;
public class Demo {
public static void main(String args[]) {
// Khởi tạo lớp LocalTime
LocalTime lTime = LocalTime.now();
System.out.println(lTime);
int field = lTime.get(ChronoField.CLOCK_HOUR_OF_AMPM);
System.out.println("Giờ của ngày (AM/PM): " + field);
field = lTime.get(ChronoField.AMPM_OF_DAY);
System.out.println("AM hoặc PM: " + field);
field = lTime.get(ChronoField.CLOCK_HOUR_OF_DAY);
System.out.println("Giờ của ngày (1-24): " + field);
long epoch = lTime.getLong(ChronoField.MINUTE_OF_DAY);
System.out.println("Phút của ngày: " + epoch);
field = lTime.get(ChronoField.MINUTE_OF_HOUR);
System.out.println("Phút của giờ: " + field);
field = lTime.get(ChronoField.SECOND_OF_DAY);
System.out.println("Giây của ngày: " + field);
field = lTime.get(ChronoField.SECOND_OF_MINUTE);
System.out.println("Giây của phút: " + field);
}
}
Kết quả
17:02:46.294 Giờ của ngày (AM/PM): 5 AM hoặc PM: 1 Giờ của ngày (1-24): 17 Phút của ngày: 1022 Phút của giờ: 2 Giây của ngày: 61366 Giây của phút: 46