Tải bản đầy đủ (.docx) (7 trang)

Báo cáo lập trình java về LocalTime và Date Adjuster

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (263.95 KB, 7 trang )

TRƯỜ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


5.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



Tham 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
Method
next(weekday), previous(weekday)
nextOrSame(weekday),
previousOrSame(weekday)
dayOfWeekInMonth(n, weekday)
lastInMonth(weekday)

Description
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
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
Ngày của thứ của tuần thứ n trong tháng
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.
Method
now,of

plusHours, plusMinutes,
plusSeconds, plusNanos
minusHours, minusMinutes,
minusSeconds, minusNanos
plus, minus
withHour, withMinute,
withSecond, withNano

Description
Đây là những phương thức khởi tạo đối
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
Thêm giờ phút giây hoặc nano giây vào
đối tượng LocalTime
Trừ giờ, phút, giây hoặc nano giây vào
đối tượng hiện tại
Thêm một khoảng thời gian
Trả về một đối tượng LocalTime với
giờ, phút, giây hoặc nano giây được


getHour, getMinute, getSecond,
getNano
toSecondOfDay, toNanoOfDay
isBefore, isAfter

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:

thay đổi bằng giá trị truyền vào.
Lấy giờ, Phút giây hoặc nano giây của
đối tượng LocalTime hiện tại
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.
So sánh thời gian của dối tượng
LocalTime này với một đối tượng khác


A.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
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);

Đáp án: C




×