1. LocalTimelớp học

Lớp LocalTimehọc được tạo ra cho những trường hợp bạn cần làm việc với thời gian nhưng không có ngày tháng. Ví dụ, giả sử bạn đang viết một ứng dụng đồng hồ báo thức. Bạn quan tâm đến thời gian, nhưng không phải ngày tháng.

Lớp LocalTimerất giống với LocalDatelớp - các đối tượng của nó tương tự như vậy không thể thay đổi sau khi tạo.

Lấy thời gian hiện tại

Để tạo một LocalTimeđối tượng mới, bạn cần sử dụng now()phương thức tĩnh. Ví dụ:

LocalTime time = LocalTime.now();

Đâu timelà một LocalTimebiến và là một lời gọi đến phương thức tĩnh của lớp.LocalTime.now()now()LocalTime

Ví dụ:

Mã số Đầu ra bảng điều khiển
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

Theo sau dấu chấm là số nano giây hiện tại.

2. Lấy thời gian cụ thể

Để có được thời gian cụ thể, bạn cần sử dụng of()phương thức tĩnh. Ví dụ:

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

Bạn vượt qua trong giờ, phút, giây và nano giây.

Ví dụ:

Mã số Đầu ra bảng điều khiển
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

Nhân tiện, có hai biến thể khác của phương pháp này:

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

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

Vì vậy, bạn có thể sử dụng cái nào thuận tiện hơn cho bạn.

Nhận thời gian dựa trên chỉ số của một giây

Bạn cũng có thể lấy thời gian theo chỉ số giây trong một ngày. Để làm điều này, chúng ta có ofSecondOfDay()phương thức tĩnh:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

Trong đó giây là số giây kể từ đầu ngày.

Ví dụ:

Mã số Đầu ra bảng điều khiển
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Vâng, 10.000 giây là ít hơn ba giờ một chút. Tất cả đều đúng.

3. Lấy yếu tố thời gian

Để lấy giá trị của một yếu tố thời gian cụ thể từ một LocalTimeđối tượng, chúng ta có các phương thức sau:

Phương pháp Sự miêu tả
int getHour()
Trả về giờ
int getMinute()
Trả về số phút
int getSecond()
Trả về giây
int getNano()
Trả về nano giây

Ví dụ:

Mã số Đầu ra bảng điều khiển
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. Thay đổi thời gian trong một LocalTimeđối tượng

Lớp này LocalTimecũng có các phương thức cho phép bạn làm việc với thời gian. Việc triển khai các phương thức này tương tự như các phương thức của LocalDatelớp: chúng không thay đổi LocalTimeđối tượng hiện có mà trả về một đối tượng mới với dữ liệu mong muốn.

Dưới đây là các phương thức của LocalTimelớp:

Phương pháp Sự miêu tả
plusHours(int hours)
Thêm giờ
plusMinutes(int minutes)
Thêm phút
plusSeconds(int seconds)
Thêm giây
plusNanos(int nanos)
Thêm nano giây
minusHours(int hours)
trừ giờ
minusMinutes(int minutes)
trừ phút
minusSeconds(int seconds)
Trừ giây
minusNanos(int nanos)
Trừ đi nano giây

Ví dụ:

Mã số Đầu ra bảng điều khiển
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

Lưu ý rằng trong mỗi trường hợp, chúng tôi nhận được một thời gian mới tương ứng với timeđối tượng ban đầu. Nếu bạn thêm 3600 secondsvào một thời điểm, thì bạn thêm chính xác 1hour.