"Xin chào, Amigo. Tôi muốn nói với bạn về một loại thú vị có tên là Date. Loại này lưu trữ ngày và giờ, đồng thời có thể đo khoảng thời gian."
"Nghe thú vị đấy. Xin hãy tiếp tục."
"Mỗi đối tượng Date lưu trữ thời gian ở dạng khá thú vị: số mili giây kể từ ngày 1 tháng 1 năm 1970, GMT."
"Ái chà!"
"Vâng. Con số này quá lớn nên không có đủ chỗ cho nó trong một int , vì vậy nó phải được lưu trữ trong một long . Nhưng nó thực sự tiện dụng để tính toán sự khác biệt giữa hai ngày bất kỳ. Bạn chỉ cần thực hiện phép trừ để tìm ra sự khác biệt với độ chính xác đến mili giây. Nó cũng giải quyết vấn đề về dòng ngày và thời gian tiết kiệm ánh sáng ban ngày."
"Phần thú vị nhất là mỗi đối tượng được khởi tạo với thời gian hiện tại khi tạo. Để biết thời gian hiện tại, bạn chỉ cần tạo một đối tượng Ngày."
"Làm thế nào để bạn làm việc với nó?"
"Đây là một số ví dụ:"
public static void main(String[] args) throws Exception
{
Date today = new Date();
System.out.println("Current date: " + today);
}
public static void main(String[] args) throws Exception
{
Date currentTime = new Date(); // Get the current date and time
Thread.sleep(3000); // Wait 3 seconds (3000 milliseconds)
Date newTime = new Date(); // Get the new current time
long msDelay = newTime.getTime() - currentTime.getTime(); // Calculate the difference
System.out.println("Time difference is: " + msDelay + " in ms");
}
public static void main(String[] args) throws Exception
{
Date startTime = new Date();
long endTime = startTime.getTime() + 5000; // +5 seconds
Date endDate = new Date(endTime);
Thread.sleep(3000); // Wait 3 seconds
Date currentTime = new Date();
if(currentTime.after(endDate))// Check whether currentTime is after endDate
{
System.out.println("End time!");
}
}
public static void main(String[] args) throws Exception
{
Date currentTime = new Date();
int hours = currentTime.getHours();
int mins = currentTime.getMinutes();
int secs = currentTime.getSeconds();
System.out.println("Time since midnight " + hours + ":" + mins + ":" + secs);
}
public static void main(String[] args) throws Exception
{
Date yearStartTime = new Date();
yearStartTime.setHours(0);
yearStartTime.setMinutes(0);
yearStartTime.setSeconds(0);
yearStartTime.setDate(1); // First day of the month
yearStartTime.setMonth(0); // January (the months are indexed from 0 to 11)
Date currentTime = new Date();
long msTimeDifference = currentTime.getTime() - yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000; // The number of milliseconds in 24 hours
int dayCount = (int) (msTimeDifference/msDay); // The number of full days
System.out.println("Days since the start of the year: " + dayCount);
}
" getTime()
Phương thức trả về số mili giây được lưu trữ trong đối tượng Ngày."
" after()
Phương thức kiểm tra xem ngày chúng ta gọi phương thức có đến sau ngày được truyền cho phương thức hay không."
"Các getHours(), getMinutes(), getSeconds()
phương thức trả về số giờ, phút và giây tương ứng cho đối tượng mà chúng được gọi."
"Hơn nữa, trong ví dụ trước, bạn có thể thấy rằng bạn có thể thay đổi ngày/giờ được lưu trữ trong một đối tượng Ngày . Chúng tôi lấy ngày và giờ hiện tại, sau đó đặt lại giờ, phút và giây thành 0. Chúng tôi cũng đặt tháng Giêng làm tháng tháng và 1 là ngày trong tháng. Do đó, đối yearStartTime
tượng lưu trữ ngày 1 tháng 1 của năm hiện tại và thời gian 00:00:00."
"Sau đó, chúng tôi lại nhận được ngày hiện tại ( currentTime
), tính toán sự khác biệt giữa hai ngày tính bằng mili giây và lưu trữ nó trong msTimeDifference
."
"Sau đó, chúng tôi chia msTimeDifference
cho số mili giây trong 24 giờ để có được số ngày đầy đủ kể từ đầu năm hiện tại cho đến ngày hôm nay."
"Wow, nó thật là tuyệt!"
GO TO FULL VERSION