So sánh ngày tháng trong java năm 2024

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ụ:

So sánh ngày tháng trong java năm 2024
Màn hình hiển thị kết quả sau khi thực thi các câu lệnh

So sánh ngày tháng trong java năm 2024

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():