Java cung cấp lớp Date có sẵn trong java.util. Lớp này có chức năng lấy ra Ngày, Tháng và Thời gian hiện tại Các phương thức thao tác với một chuỗi ngày tháng có sẵn: Phương thức và miêu tả Kiểu trả về Boolean after(Date date) Trả về TRUE: nếu gọi đối tượng Date chứa một ngày mà CHẬM hơn ngày đã xác định. Trả về FALSE: nếu gọi đối tượng Date chứa một ngày mà KHÔNG CHẬM hơn ngày đã xác định. boolean: true, false Boolean before(Date date) Trả về TRUE: nếu gọi đối tượng Date chứa một ngày mà NHANH hơn ngày đã xác định Trả về FALSE: nếu gọi đối tượng Date chứa một ngày mà KHÔNG NHANH hơn ngày đã xác định boolean: true, false Object clone() Sao chép đối tượng Date đã nhập trước int compareTo(Date date) So sánh giá trị đối tượng đang gọi với giá trị đó của date. Trả về 0 nếu các giá trị này là cân bằng. Trả về một giá trị âm nếu đối tượng đang gọi là sớm hơn date. Trả về một giá trị dương nếu đối tượng đang gọi chậm hơn date. int int compareTo(Object obj) + Nếu đối tượng là của lớp Date So sánh giá trị đối tượng đang gọi với giá trị đó của date. Trả về 0 nếu các giá trị này là cân bằng. Trả về một giá trị âm nếu đối tượng đang gọi là sớm hơn date. Trả về một giá trị dương nếu đối tượng đang gọi chậm hơn date. +Nếu đối tượng không thuộc lớp Date sẽ được xem là một ClassCastException int boolean equals(Object date) Nếu đối tượng Date đang gọi chứa thời gian và ngày giống như Date đã cho: trả về TRUE Nếu đối tượng Date đang gọi KHÔNG CHỨA thời gian và ngày giống như Date đã cho: trả về FALSE boolean: true, false long getTime() Trả về kết quả là số mili giây đã trôi qua từ 1/1/1970 long int hashCode() Trả về một mã hóa băm (hash code) cho đối tượng đang gọi int void setTime(long time) Thiết lập ngày tháng và thời gian như thời gian đã cho, mà biểu diễn một time đã trôi qua (giá trị mili giây) từ 0 giờ ngày 1/1/1970 long String toString() Biến đổi đối tượng Date đang gọi thành một chuỗi và trả về kết quả String Mã hóa định dạng SimpleDateFormat trong Java Các KÝ TỰ VIẾT TẮT để định dạng chuỗi thời gian KÝ TỰ MIÊU TẢ VÍ DỤ G Tên mệnh danh của thời đại AD y Năm trong dạng 4 chữ số 2001 M Tháng trong năm July or 07 d Ngày trong tháng 10 h Giờ trong dạng A.M./P.M. (1~12) 12 H Giờ trong ngày (0~23) 22 m Phút trong giờ 30 s Giây trong phút 55 S Số mili giây 234 E Ngày trong tuần Tuesday D Ngày trong năm 360 F Ngày của tuần trong tháng 2 (Wed thứ hai trong July) w Tuần trong năm 40 W Tuần trong tháng 1 a A.M./P.M. PM k Giờ trong ngày (1~24) 24 K Giờ dạng A.M./P.M. (0~11) 10 z Time zone Eastern Standard Time ‘ Dãy thoát cho văn bản Dấu giới hạn “ Trích dẫn đơn ` Ví dụ: Tác giả: Nguyễn Thi Thanh Thảo, Nguyễn Thái Bình (sinh viên năm 3, lớp 15DTH, khoa Công nghệ thông tin). Hôm nay rảnh rỗi phát triển một số tính năng cho Openbravo POS có liên quan tới xử lý thời gian, ví dụ : Tính năng cho phép người dùng thiết lập tự động một chương trình khuyến mãi theo thời gian từ ngày nào đến nào và có thể chọn cho 1 khoảng thời gian nào đó trong ngày (Giờ vàng - Happy Hour) . Tự dưng đang làm đụng phải vấn đề xử lý thời gian ví dụ như : Muốn biết khoảng cách giữa 2 ngày, so sánh 2 khoảng thời gian , cộng trừ 2 khoảng thời gian ... ==> Sau một hồi lượm lặt từ Internet , mấy cuốn bí kíp ... tôi lưu lại một số phương thức sau phòng khi dùng lại cho nhanh và cũng muốn share cho những ai chưa biết 1. Tăng hoặc giảm ngày, tháng, năm (lên / xuống) một đơn vị thời gian cho một mốc thời gian. Để làm điều này bạn sử dụng 2 phương thức roll() hoặc add() . Tôi không muốn giải thích nhiều vì bạn có thể tham khảo điều đó tại đây , nhưng đoạn code ví dụ sẽ giúp bạn thấy rõ cách dùng . Tôi muốn nói một chút về sự khác nhau giữa 2 phương thức này. - Đối với phương thức roll() : làm thay đổi (Tăng / giảm) một đối tượng calendar cụ thể và không thay đổi đối tượng calendar lớn hơn (Đối tượng Calendar.MONTH được coi là lớn hơn Calendar.DATE, Calendar.YEAR lớn hơn Calendar.MONTH). Ví dụ: Bạn muốn thay đổi ngày trong mốc thời gian ("31-07-2011") thêm 8 ngày nữa ==> Bạn sử dụng roll() : roll(Calendar.DATE, 8) ; ==> Kết quả thu được sẽ là ("08-07-2011") . - Đối với phương thức add(): làm thay đổi (Tăng / giảm) một đối tượng calendar cụ thể đồng thời làm thay đổi đối tượng calendar lớn hơn . Ví dụ : Đối với mốc thời gian ("31-07-2011") ở ví dụ trên, nếu dùng add(): |