... thức khởi tạo đối tượng LocalTime A B C D LocalTime date = LocalTime. now(); LocalTime date = LocalTime. of(22, 30); LocalTime date = new LocalTime( 22,30); LocalTime date = LocalTime. of(22, 30,30,30);... Local Time LocalTime để trình diễn thời gian ngày 15:30:00.Bạn tạo đối tượng với phương thức now of Ví dụ: Phương thức LocalTime. now() tạo đối tượng có thời gian ngày tại, phương thức LocalTime. of(…)... thức khởi tạo đối tượng LocalTime, từ thời gian nhận tham số giờ, phút tùy chọn giây nano giây Thêm phút giây nano giây vào đối tượng LocalTime Trừ giờ, phút, giây nano giây vào đối tượng Thêm khoảng
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
─────── * ───────
LẬP TRÌNH JAVA Tìm hiểu mục 5.3, 5.4 trong tài liệu Java SE 8
Giảng viên hướng dẫn: TS Nguyễn Hồng Quang Sinh viên thực hiện: Tạ Văn Lợi -20122023
Hà Nội, tháng 09 năm 2015
Trang 25.3 Date Adjusters
Trong các ứng dụng sử dụng lịch thì thường phải tính toán ngày như “ngày thứ ba đầu tiên của mỗi tháng hay ngày đầu tiên của tháng tiếp theo hay ngày đầu tiên của năm tiếp theo v.v”.Để giải quyết vấn đề này java 1.8 đã cung cấp cho chúng ta giao diện (interface) TemporalAdjusters cho việc điều chỉnh ngày giờ
TemporalAdjusters là một giao diện nằm trong gói java.time.temporal, nó cung cấp một số phương thức tĩnh để thực hiện việc điều chỉnh ngày thông thường như ngày cuối cùng trong tháng, ngày đầu tiên hay ngày cuối cùng của năm v.v
Ví dụ :Ngày thứ ba tiếp theo trong tháng có thể được tính như sau
Phương thức with trả về một đối tượng LocalDate mới mà không làm thay đổi đối tượng gốc
Chúng ta cũng có thể định nghĩa riêng cho mình một điều chỉnh ngày bằng việc cài đặt giao diện TemporalAdjusters Đây là một giao diện dùng biểu thức lambda để cài đặt tính toán ngày thường tiếp theo
Trang 3Tham số trong biểu thức lambda có kiểu là temporal nó phải được ép kiểu về LocalDate Chúng ta có thể tránh việc ép kiểu bằng việc sử dụng
UnaryOperator<LocalDate>
Một số phương thức tĩnh khác của giao diện TemporalAdjusters
next(weekday), previous(weekday) Ngày tiếp theo hoặc ngày trước của thứ
được chỉ định trong tham số truyền vào hàm
nextOrSame(weekday),
previousOrSame(weekday)
Ngày tiếp theo hoặc ngày trước của thứ được truyền vào trong tham số của hàm, bắt đầu từ ngày hiện tại
Trang 4dayOfWeekInMonth(n, weekday) Ngày của thứ của tuần thứ n trong tháng lastInMonth(weekday) Thứ cuối cùng trong tháng
firstDayOfMonth(),
firstDayOfNextMonth(),
firstDayOfNextYear(),
lastDayOfMonth(),
lastDayOfPreviousMonth(),
lastDayOfYear()
Ngày đầu tiên của tháng, ngày đầu tiên của tháng tiếp theo, ngày đầu tiên của năm hay ngày cuối cùng của tháng hay ngày cuối cùng của tháng trước và ngày cuối cùng của năm
5.4 Local Time
LocalTime để trình diễn thời gian của ngày như là 15:30:00.Bạn có thể tạo một đối tượng với phương thức now hoặc of
Ví dụ:
Phương thức LocalTime.now() sẽ tạo ra một đối tượng có thời gian của ngày hiện tại, phương thức LocalTime.of(…) tạo ra đối tượng có thời gian tùy vào giá trị của tham số truyền vào
Một số phương thức chính trong lớp LocalTime
tượng LocalTime, từ thời gian hiện tại hoặc nhận tham số giờ, phút và tùy chọn giây hoặc nano giây
plusHours, plusMinutes, Thêm giờ phút giây hoặc nano giây vào
Trang 5plusSeconds, plusNanos đối tượng LocalTime
minusHours, minusMinutes,
minusSeconds, minusNanos
Trừ giờ, phút, giây hoặc nano giây vào đối tượng hiện tại
withHour, withMinute,
withSecond, withNano
Trả về một đối tượng LocalTime với giờ, phút, giây hoặc nano giây được thay đổi bằng giá trị truyền vào
getHour, getMinute, getSecond,
getNano
Lấy giờ, Phút giây hoặc nano giây của đối tượng LocalTime hiện tại
toSecondOfDay, toNanoOfDay Trả về số giây hoặc nano giây từ 12 giờ
đêm cho đến thời gian của đối tượng LocalTime hiện tại
isBefore, isAfter So sánh thời gian của dối tượng
LocalTime này với một đối tượng khác
Câu hỏi trắc nghiệm
(Số lượng:3 câu)
Câu 1: Kết quả trả về của đoạn mã sau:
Trang 6A.11 B.12 C.1 D.2
(Đáp án đúng : C) Câu 2:Biểu thức nào dưới đây sẽ xảy ra lỗi
(Đáp án :B) Câu 3:Biểu thức nào dưới đấy không phải biểu thức khởi tạo một đối tượng
LocalTime
Trang 7A LocalTime date = LocalTime.now();
B LocalTime date = LocalTime.of(22, 30);
C LocalTime date = new LocalTime(22,30);
D LocalTime date = LocalTime.of(22, 30,30,30);
Đáp án: C