"Tôi nhớ rằng tôi muốn nói với bạn một chút về cách làm việc với ngày tháng."
"Bạn đã nói với tôi rằng Java có lớp Date và tôi có thể sử dụng lớp đó để làm việc với ngày tháng."
"Hmm. Chà, lớp Date đã lỗi thời được một thời gian rồi."
"Bây giờ, bạn nên sử dụng lớp Lịch, lớp này có phương thức getTime() trả về ngày hiện tại."
"Đây là một đối tượng Lịch thường được tạo ra:"
Calendar cal = Calendar.getInstance();
"Khi bạn gọi phương thức này, lịch chính xác sẽ được tạo dựa trên cài đặt máy tính của bạn."
"Lịch 'chính xác'? Điều đó có nghĩa là có một số?"
"Phải. Chà, nói là 'có liên quan' thì chính xác hơn. Thực tế là Trái đất không chỉ có một mà là rất nhiều lịch. Hầu như mỗi lịch đều gắn liền với tôn giáo hoặc quốc gia nào đó."
"Năm có thể khác nhau tùy thuộc vào quốc gia bạn đang ở."
"Đây là những ví dụ về lịch phổ biến nhất."
lớp lịch | tên lịch |
---|---|
GregorianLịch | Lịch Gregorian Kitô giáo |
Phật GiáoLịch | Phật lịch |
Nhật BảnĐế QuốcLịch | Lịch Hoàng gia Nhật Bản |
"Ngoài ra còn có lịch Trung Quốc, lịch Hồi giáo, v.v."
"Tôi hiểu rồi."
"Để lấy ngày hiện tại, bạn cần viết mã như sau:"
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
"Lớp Lịch có nhiều phương thức cho phép bạn nhanh chóng lấy bất kỳ thông tin nào về ngày và giờ."
Mã số | Bình luận |
---|---|
|
kỷ nguyên năm tháng ngày trong tháng ngày trong tuần (Thứ Hai, Thứ Ba, Thứ Tư, …) giờ phút giây |
"Đôi khi bạn thực sự chỉ cần lấy một phần thông tin có sẵn. Ví dụ, năm hiện tại hoặc ngày trong tuần."
"Nhưng đôi khi bạn chỉ cần hiển thị ngày ở định dạng phù hợp."
"Ví dụ, trong tệp nhật ký hoặc một nơi nào khác."
"Hoặc tạo một định dạng mà người dùng có thể tùy chỉnh. Bạn sẽ làm gì sau đó?"
"Cũng có những lớp đặc biệt cho việc này. Lớp SimpleDateFormat hoàn toàn phù hợp với nhiệm vụ mà bạn đã mô tả:"
Calendar calendar = Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("MM-DD-YY");
String message = formatter.format(calendar.getTime());
"À. Tôi nhớ rồi. Bạn đã giải thích một số về SimpleDateFormat cho tôi, nhưng tôi thực sự không nhớ nhiều."
"Tất cả đều rất đơn giản. Bạn tạo một đối tượng SimpleDateFormat và chuyển cho nó mẫu ngày bạn muốn nhận. Sau đó, bạn gọi phương thức định dạng và nó cung cấp cho bạn ngày đã chuyển ở dạng mong muốn."
"Nghe thú vị đấy. Tôi muốn biết thêm chi tiết."
"Đây. Thông tin chi tiết. Dưới đây là một số chữ cái có thể được sử dụng trong mẫu ngày tháng:"
Thư | Sự miêu tả |
---|---|
g | Được thay thế bởi thời đại (AD hoặc BC) |
y | Thay thế theo năm |
m | Thay thế theo tháng |
w | Số tuần trong năm |
W | Số tuần trong tháng |
D | Số ngày trong năm |
đ | Ngày trong tháng |
F | Ngày trong tuần trong tháng |
e | Ngày trong tuần |
Một | AM/PM (trước hoặc sau buổi trưa) |
h | Giờ ở định dạng 24 giờ (0-23) |
k | Giờ ở định dạng 24 giờ (1-24) |
k | Giờ ở định dạng 12 giờ (0-11) |
h | Giờ ở định dạng 12 giờ (1-12) |
tôi | Phút |
S | giây |
S | mili giây |
z | Múi giờ, được định dạng như sau: Giờ chuẩn Thái Bình Dương, PST |
z | Múi giờ, được định dạng như sau: -0800/td> |
"Tuyệt! Đó là tất cả những gì bạn cần."
"Vẫn còn một số sắc thái liên quan đến việc lặp lại những chữ cái này."
"Nếu bạn viết YY, bạn sẽ nhận được hai chữ số cuối cùng của năm. Nếu bạn viết YYYY, bạn sẽ nhận được cả bốn chữ số của năm."
"Với tháng cũng có chút phức tạp. MM là số của tháng. MMM là viết tắt ba chữ cái của tháng, tức là Jan, Feb, Mar, Apr, May, v.v. MMMM là viết tắt của tên đầy đủ của tháng ."
"Bạn cũng có thể hiển thị cả ngày trong tuần (sử dụng EEEE) hoặc chỉ hai chữ cái đầu tiên (sử dụng EE)."
"Cảm ơn, Rishi. Lớp SimpleDateFormat này thực sự hữu ích. Giờ tôi đã biết."
"Hãy tận hưởng việc sử dụng nó! Và chúc may mắn!"
GO TO FULL VERSION