Trong lập trình Java hướng đối tượng, để làm việc với ngày tháng và thời gian, Java cung cấp các lớp trong gói java.util
và java.time
để xử lý các tác vụ liên quan đến ngày, tháng, năm, giờ, phút và giây. Dưới đây là một số lớp quan trọng trong Java để làm việc với Date & Time.
- Lớp
Date
(trongjava.util
): LớpDate
đại diện cho một thời điểm cụ thể trong thời gian. Tuy nhiên, lớpDate
không được khuyến nghị sử dụng, và thay vào đó, nên sử dụng lớpLocalDate
,LocalTime
, vàLocalDateTime
trong góijava.time
. - Gói
java.time
: Gói này cung cấp các lớp và phương thức để làm việc với ngày, tháng, năm, giờ, phút, giây và các thành phần thời gian khác. Các lớp quan trọng trong gói này bao gồm:LocalDate
: Đại diện cho một ngày duy nhất (năm, tháng, ngày) trong lịch Julian-Gregorian.LocalTime
: Đại diện cho một thời gian duy nhất (giờ, phút, giây) theo múi giờ cục bộ.LocalDateTime
: Kết hợpLocalDate
vàLocalTime
để biểu diễn một ngày và một thời gian cụ thể.Instant
: Đại diện cho một thời điểm cụ thể trong thời gian, được biểu diễn bởi một số giây tính từ ngày Epoch (1/1/1970).Duration
: Đại diện cho một khoảng thời gian, tính bằng giây và nano giây.Period
: Đại diện cho một khoảng thời gian theo ngày, tháng và năm.
Ví dụ sử dụng LocalDate
trong Java:
java
import java.time.LocalDate;
public class Example {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
System.out.println("Current date: " + currentDate);
LocalDate specificDate = LocalDate.of(2022, 5, 15);
System.out.println("Specific date: " + specificDate);
LocalDate parsedDate = LocalDate.parse("2023-07-14");
System.out.println("Parsed date: " + parsedDate);
}
}
Trong ví dụ trên, chúng ta sử dụng LocalDate.now()
để lấy ngày hiện tại. Sử dụng LocalDate.of()
để tạo một ngày cụ thể. Sử dụng LocalDate.parse()
để chuyển đổi một chuỗi thành một đối tượng LocalDate
.
Các lớp và phương thức trong gói java.time
cho phép bạn làm việc với ngày, tháng, năm, giờ và các thành phần thời gian khác một cách linh hoạt và mạnh mẽ. Nó cung cấp các phương thức để thực hiện các phép toán, so sánh, định dạng và xử lý các tác vụ liên quan đến Date & Time trong Java.