Báo cáo lập trình java về LocalDate

4 500 3
Báo cáo lập trình java về LocalDate

Đang tải... (xem toàn văn)

Thông tin tài liệu

... Dates Ở Java phiên cũ, có vài vấn đề tồn liên quan đến lớp date time như: _ Lớp Date time không khai báo cách thích hợp, có lớp Date java. util java. sql _ java. util.Date bao gồm date time, java. sql.Date... dụng địa phương LocalDate đối tượng có ngày, tháng, năm Để sử dụng ta sử dụng phương thức tĩnh now of: LocalDate today = LocalDate. now(); //lấy thời gian LocalDate alonzosBirthday = LocalDate. of(1903,... // Khai báo ngày bắt đầu để sử dụng với tham số truyền vào năm, tháng, ngày Ngoài muốn định dạng lại tham số truyền vào sử dụng phương thức ofLocalizedDate LocalDate alonzosBirthday = LocalDate. of(1903,

ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BÁO CÁO LẬP TRÌNH JAVA Sinh viên thực hiện: Phạm Minh Tuấn MSSV: 20112446 Giảng viên hướng dẫn: TS.Nguyễn Hồng Quang Hà Nội, 2015 5.2 Local Dates Ở Java phiên bản cũ, có một vài vấn đề tồn tại liên quan đến lớp date và time như: _ Lớp Date time không được khai báo một cách thích hợp, có lớp Date trong java.util và java.sql _ java.util.Date bao gồm cả date và time, trong khi đó java.sql.Date chỉ bao gồm Date _ Không có khai báo rõ ràng cho lớp time, timestamp. _ Tất cả các lớp Date thì có thể thay đổi, do đó nó không an toàn. Đây là một trong những vấn đề lớn nhất của java Date và lớp Calendar. _ Lớp Date không quy định giờ quốc tế và không hỗ trợ giờ khu vực ( zoned time ) Bởi những lý do đó mà Java 8 Date time API được thiết kế. Có 2 loại thời gian trong trong Java API mới đó là local date/time ( ngày, giờ địa phương ) và zoned time ( giờ khu vực ). Local date / time có ngày / thời gian của ngày nhưng lại không có liên kết với thông tin thời gian của khu vực đó. Ta có ví dụ về local date: 14/6/1903 ( Ngày mà Alonzo Church người phát minh ra biểu thức lambda ra đời) ở đây chúng ta không có thông tin về giờ cũng như giờ của khu vực đó, nó không đúng một cách chính xác với thời gian ngay lúc đó. Ta có ví dụ khác: 16/7/1969, 09:32:00 EDT ( Thời điểm phóng tàu Apolo 11 ) là một zoned date / time, mô tả một cách chính xác và đầy đủ thông tin về ngày tháng, giờ và giờ khu vực. Có nhiều cách tính không yêu cầu đến giờ khu vực, trong một vài trường hợp hợp nó lại là trở ngại. Ví dụ: bạn có cuộc họp hàng tuần vào lúc 10:00, bởi vì các khu vực có múi giờ lệch nhau 1 giờ, ở vùng cuối cùng của khu vực nếu bạn vượt qua đường biên khu vực thì cuộc gặp mặt có thể sớm hơn hoặc muộn hơn 1 giờ là 9:00 hoặc 11:00 Vì những lý do đó, người thiết kết API khuyên chúng ta không nên sử dụng giờ khu vực trừ khi muốn nói một cách chính xác tuyệt đối về thời gian. Với những ngày như 2 ngày sinh nhật, ngày nghĩ lễ, hoặc thời gian biểu thì tốt nhất nên sử dụng giờ địa phương. LocalDate là đối tượng có ngày, tháng, năm. Để sử dụng ta có thể sử dụng những phương thức tĩnh now hoặc of: LocalDate today = LocalDate.now(); //lấy thời gian hiện tại LocalDate alonzosBirthday = LocalDate.of(1903, 6, 14); // Khai báo một ngày bắt đầu để sử dụng với tham số truyền vào là năm, tháng, ngày. Ngoài ra muốn định dạng lại các tham số truyền vào chúng ta sử dụng phương thức ofLocalizedDate. LocalDate alonzosBirthday = LocalDate.of(1903, Month.JUNE, 14); // Khai báo một ngày bằng cách sử dụng liệt kê các tháng. Không giống với những quy ước trong Unix và java.util.Date, Tháng được đếm từ 0 và năm được đếm từ 1900, cung cấp những số thường dùng cho tháng. Ở phiên bản Java mới, chúng ta có thể sử dụng các tháng bằng cách liệt kê. Một số phương thức thường sử dụng với đối tượng LocalDate Phương thức Mô tả Now, of Phương thức tĩnh trả về thời gian hiện tại hoặc ngày, tháng, năm. plusDays, plusWeeks, Cộng thêm một số ngày, tuần, tháng năm. plusMonths, plusYears minusDays,minusWeeks, minusMonths,minusYears Trừ ngày, tuần, tháng, năm plus, minus Thêm hoặc bớt một khoảng thời gian 3 withDayOfMonth,withDayOfYear , Thay đổi giá trị của ngày, tháng, năm đã được định trước. withMonth, withYear getDayOfMonth, getDayOfYear Trả về giá trị của ngày, của năm getDayOfWeek Trả về ngày thứ mấy trong tuần bằng phép liệt kê getMonth, getMonthValue Trả về giá trị của tháng ( số từ 1 – 12) hoặc tên tháng getYear Trả về giá trị của năm until Trả về khoảng thời gian trước đó isBefore, isAfter So sánh 2 giá trị ngày với nhau isLeapYear Trả về giá trị true nếu nó chia hết cho 4 nhưng không chia hết cho 100 hoặc chia hết cho 400 4

Ngày đăng: 29/09/2015, 08:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan