26/05/2018, 16:38

Ngày tháng (Date & Time) trong Java

Để tìm hiểu rõ hơn về ngày tháng (Date & Time) trong Java, bạn đọc cùng tham khảo bài viết dưới đây của Zaidap.com. Ngoài ra bạn đọc có thể tham khảo một số bài viết khác trên Zaidap.com để biết thêm thông tin chi tiết về Java. ...

Để tìm hiểu rõ hơn về ngày tháng (Date & Time) trong Java, bạn đọc cùng tham khảo bài viết dưới đây của Zaidap.com. Ngoài ra bạn đọc có thể tham khảo một số bài viết khác trên Zaidap.com để biết thêm thông tin chi tiết về Java.

Java cung cấp lớp Date có sẵn trong gói java.util, lớp này đóng gói ngày và giờ hiện tại. Tham khảo tiếp nội dung bài viết để tìm hiểu ngày tháng (Date & Time) trong Java nhé.

ngay thang date time trong java

Ngày tháng (Date & Time) trong Java

Lớp Date trong Java hỗ trợ 2 constructor trong bảng dưới đây:

ngay thang date time trong java 2

Dưới đây là bảng danh sách các phương thức của lớp Date trong Java:

ngay thang date time trong java 3

Lấy ngày tháng (date & time) hiện tại trong Java

Lấy ngày tháng (date & time) hiện tại trong Java khá đơn giản. Bạn có thể sử dụng đối tượng Date với phương thức toString() để in ngày tháng hiện tại.

Ví dụ:

ngay thang date time trong java 4

Trong ví dụ trên trả về kết quả đầu ra là:

on May 04 09:51:52 CDT 2009

So sánh Date trong Java

Dưới đây là 3 cách để so sánh 2 Date trong Java:

- Bạn có thể sử dụng getTime( ) để lấy số mili giây đã trôi qua kể từ nửa đêm ngày 1/1/1970 cho cả 2 đối tượng sau đó so sánh 2 giá trị này.

- Bạn có thể sử dụng các phương thức before( ), after( ), và equals( ). Vì ngày 12 đứng trước ngày 18 nên lệnh new Date(99, 2, 12).before(new Date (99, 2, 18)) sẽ trả về giá trị True.

- Bạn có thể sử dụng phương thức compareTo(),được định nghĩa bởi Comparable interface và được thi hành bởi Date.

Định dạng Date bằng SimpleDateFormat

SimpleDateFormat là lớp cụ thể (concrete class) để định dạng và phân tích date theo phương thức nhạy cảm với locale. SimpleDateFormat cho phép bạn bắt đầu bằng cách chọn pattern bất kỳ được định nghĩa bởi người dùng cho định dạng date-time.

Ví dụ:

ngay thang date time trong java 5

Trong ví dụ trên sẽ trả về kết quả đầu ra là:

Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

Mã hóa định dạng DateFormat

Để xác định định dạng DateFormat trong Java, sử dụng chuỗi mô tả thời gian. Trong pattern này, tất cả các ký tự ASCII được giữ lại dưới dạng các ký tự pattern, được định nghĩa trong bảng dưới đây:

ngay thang date time trong java 6

Định dạng Date bằng printf trong Java

Cách đơn giản khác để định dạng date và time trong Java là sử dụng phương thức printf. Bạn sử dụng một định dạng hai chữ cái, bắt đầu bằng t và kết thúc bằng một trong các ký tự trong bảng dưới.

Ví dụ:

ngay thang date time trong java 7

Trong ví dụ trên kết quả đầu ra trả về là:

Current Date/Time : Sat Dec 15 16:37:57 MST 2012

Sẽ hơi mất thời gian một chút nếu bạn phải cung cấp date nhiều lần để định dạng từng phần. Vì vậy một chuỗi định dạng có thể chỉ dẫn chỉ mục của tham số được định dạng.

Chỉ số phải ngay lập tức theo sau % và nó phải được kết thúc bằng một dấu $.

Ví dụ:

ngay thang date time trong java 8

Kết quả đầu ra được trả về từ ví dụ trên là:

Due date: February 09, 2004

Ngoài ra bạn có thể sử dụng ký hiệu dấu nhỏ hơn. Ký hiệu này chỉ dẫn tham số tương tự như trong định dạng trước.

Ví dụ:

ngay thang date time trong java 9

Kết quả đầu ra được trả về từ ví dụ trên là:

Due date: February 09, 2004

Các ký tự chuyển đổi Date và Time trong Java

Dưới đây là bảng danh sách các ký tự chuyển đổi Date và Time trong Java:

ngay thang date time trong java 10

Ngoài ra còn có một số lớp hữu ích khác liên quan đến Date và Time.

Phương thức parse( ) trong lớp Date

Lớp SimpleDateFormat còn bao gồm một số phương thức bổ sung khác, trong đó phải kể đến là parse( ), để nhận chuỗi theo định dạng được lưu giữ trong đối tượng SimpleDateFormat đã cho.

Ví dụ:

ngay thang date time trong java 11

Chạy chương trình trên và nó sẽ trả về kết quả đầu ra là:

1818-11-11 Parses as Wed Nov 11 00:00:00 EST 1818

Thiết lập chương trình ngủ trong khoảng thời gian cụ thể trong Java

Bạn có thể ngừng bất kỳ khoảng thời gian nào trong khoảng từ một mili giây cho đến một vòng đời máy tính.

Ví dụ, chương trình dưới đây sẽ ngủ trong 3 giây:

ngay thang date time trong java 12

Kết quả đầu ra trả về trong ví dụ trên là:

Sun May 03 18:04:41 GMT 2009

Sun May 03 18:04:51 GMT 2009

Đo thời gian đã trôi qua trong Java

Trong một số trường hợp bạn sẽ phải đo thời gian tại một thời điểm bằng giá trị mili giây.

Trong ví dụ trên sẽ được viết lại như sau:

ngay thang date time trong java 13

Kết quả đầu ra trả về trong ví dụ là:

Sun May 03 18:16:51 GMT 2009

Sun May 03 18:16:57 GMT 2009

Difference is : 5993

Lớp GregorianCalendar

GregorianCalendar được bổ sung cho lớp Calendar triển khai lịch Gregorian đúng cách. Tuy nhiên trong bài viết này Zaidap.com không đề cập về lớp Calendar, bạn có thể tìm kiếm các thông tin liên quan đến lớp Calendar trong Java trên mạng để biết thêm thông tin.

Phương thức getInstance() của Calendar trả về một GregorianCalendar được khởi tạo với date và time hiện tại theo miền và múi giờ mặc định. GregorianCalendar định nghĩa hai trường: AD và BC. Chúng biểu diễn hai thời đại được định nghĩa bởi GregorianCalendar.

Ngoài ra còn có một số constructor cho các đối tượng GregorianCalendar:

ngay thang date time trong java 14

Dưới đây là danh sách các phương thức hữu ích được lớp GregorianCalendar hỗ trợ:

ngay thang date time trong java 15

Ví dụ:

ngay thang date time trong java 16

Ví dụ trên trả về kết quả đầu ra là:

Date: Apr 22 2009

Time: 11:25:27

The current year is not a leap year

http://thuthuat.taimienphi.vn/ngay-thang-date-time-trong-java-32574n.aspx
Như vậy trong bài viết trên Zaidap.com vừa cung cấp cho bạn các thông tin về ngày tháng (date & time) trong Java. Bên cạnh đó, bạn có thể tham khảo thêm một số bài viết về Java như điều khiển lặp trong Java, các cú pháp cơ bản,...mà Zaidap.com đã đăng tải.

0