Trong Java, Date là một lớp để làm việc với ngày giờ. Lớp Date được định nghĩa trong package java.util và lưu trữ thông tin ngày giờ theo mili giây từ ngày 1 tháng 1 năm 1970.
Các bài viết liên quan:
Ví dụ:
import java.util.Date; Date date = new Date(); // lấy thời gian hiện tại System.out.println(date);
Bạn có thể sử dụng các phương thức của lớp Date để lấy thông tin ngày giờ, chuyển đổi ngày giờ sang mili giây, hoặc so sánh hai ngày giờ.
Ví dụ:
Date today = new Date(); long todayInMilliseconds = today.getTime(); Date tomorrow = new Date(todayInMilliseconds + 24*60*60*1000);
Trong Java 8, lớp Date đã bị thay thế bởi các lớp mới như LocalDate, LocalTime, LocalDateTime, và ZonedDateTime trong package java.time. Các lớp này cung cấp các chức năng mạnh mẽ hơn và dễ sử dụng hơn so với lớp Date trong Java 7 trở xuống.
Ví dụ:
import java.time.LocalDate; import java.time.LocalTime; import java.time.LocalDateTime; LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDateTime dateTime = LocalDateTime.now(); System.out.println("Date: " + date); System.out.println("Time: " + time); System.out.println("Date and Time: " + dateTime);
Các lớp mới này cung cấp các phương thức để thao tác với ngày giờ, chuyển đổi giữa các định dạng khác nhau, và tính toán giữa các ngày giờ.
Tại mức cơ bản, lớp LocalDate, LocalTime, LocalDateTime, và ZonedDateTime cung cấp các chức năng tương tự như lớp Date trong Java 7 trở xuống nhưng có rất nhiều chức năng m
Có rất nhiều chức năng mạnh mẽ hơn và dễ sử dụng hơn so với lớp Date trong Java 7 trở xuống.
Ví dụ, bạn có thể sử dụng các phương thức của lớp LocalDate để tính toán khoảng thời gian giữa hai ngày, hoặc sử dụng lớp LocalTime để tính toán khoảng thời gian giữa hai giờ.
Ví dụ:
LocalDate start = LocalDate.of(2019, 1, 1); LocalDate end = LocalDate.of(2019, 12, 31); long daysBetween = ChronoUnit.DAYS.between(start, end); System.out.println("Number of days between " + start + " and " + end + ": " + daysBetween);
Bạn có thể sử dụng các lớp mới này để xử lý ngày giờ trong các ứng dụng thời gian thực và làm việc với các thông tin liên quan đến ngày giờ một cách dễ dàng hơn.
Một vài ví dụ về date trong java
- Lấy ngày giờ hiện tại:
LocalDateTime currentDateTime = LocalDateTime.now(); System.out.println("Current Date and Time: " + currentDateTime);
- Tạo một ngày giờ theo yêu cầu:
LocalDate specificDate = LocalDate.of(2020, Month.JULY, 15); LocalTime specificTime = LocalTime.of(10, 30); LocalDateTime specificDateTime = LocalDateTime.of(specificDate, specificTime); System.out.println("Specific Date and Time: " + specificDateTime);
- Chuyển đổi giữa các định dạng ngày giờ:
LocalDateTime dateTime = LocalDateTime.now(); LocalDate date = dateTime.toLocalDate(); LocalTime time = dateTime.toLocalTime(); System.out.println("Date: " + date); System.out.println("Time: " + time);
- Tính khoảng thời gian giữa hai ngày:
LocalDate start = LocalDate.of(2019, 1, 1); LocalDate end = LocalDate.of(2019, 12, 31); long daysBetween = ChronoUnit.DAYS.between(start, end); System.out.println("Number of days between " + start + " and " + end + ": " + daysBetween);
- Tính khoảng thời gian giữa hai giờ:
LocalTime start = LocalTime.of(9, 0); LocalTime end = LocalTime.of(17, 0); long hoursBetween = ChronoUnit.HOURS.between(start, end); System.out.println("Number of hours between " + start + " and " + end + ": " + hoursBetween);
6. Kiểm tra xem một ngày có phải là ngày cuối tuần hay không:
LocalDate date = LocalDate.now(); if(date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY){ System.out.println(date + " is a weekend day"); }else{ System.out.println(date + " is a working day"); }
7. Tăng hoặc giảm ngày giờ bằng cách sử dụng các phương thức plus và minus của lớp LocalDate, LocalTime, LocalDateTime:
LocalDate date = LocalDate.now(); LocalDate nextWeek = date.plusWeeks(1); LocalTime time = LocalTime.now(); LocalTime nextHour = time.plusHours(1);
Các ví dụ trên chỉ là một số ví dụ cơ bản về cách sử dụng ngày giờ trong Java 8 với các lớp mới như LocalDate, LocalTime, LocalDateTime, và ZonedDateTime. Các lớp này cung cấp rất nhiều chức năng mạnh mẽ và dễ sử dụng hơn so với lớp Date trong Java 7 trở xuống.