Java - Viết chương trình tính sự chênh lệch về giờ, phút, giây giữa 2 ngày bất kỳ.

Viết chương trình tính sự chênh lệch về giờ, phút, giây giữa 2 ngày bất kỳ.

Bài giải

-------------------- ######## --------------------

Hướng dẫn: Trong bài tập này, tôi có sử dụng LocalDateTime để mô tả kiểu dữ liệu gồm đầy đủ ngày tháng năm giờ phút giây nhưng không có mô tả time-zone. Nên dùng kiểu dữ liệu này trong các trường hợp khi thao tác với date mà ko muốn bị ảnh hưởng bởi time-zone giữa các vùng, quốc gia khác nhau.

Bài giải
public static void main(String[] args) {
	// LocalDateTime: kiểu dữ liệu gồm đầy đủ ngày tháng năm, giờ phút giây 
	// nhưng không có mô tả time-zone. 
	// Nên dùng kiểu dữ liệu này trong các trường hợp khi thao tác với date 
	// mà ko muốn bị ảnh hưởng bởi time-zone giữa các vùng, quốc gia khác nhau
	// Để sử dụng LocalDateTime 
	// chúng ta sẽ import gói thư viện java.time.LocalDateTime của Java
	LocalDateTime startDate = LocalDateTime.of(2017, 11, 1, 4, 20, 39);
	LocalDateTime endDate = LocalDateTime.of(2017, 11, 1, 10, 1, 8);
		
	// tính sự chênh lệch về giờ, phút, giây
	// giữa 2 ngày startDate và endDate
	// sử dụng phương thức between() của Duration
	// Duration được dùng để tính sự chênh lệch về giây giữa 2 ngày
	// bằng hàm getSeconds()
	long differentInSeconds = Duration.between(startDate, endDate).getSeconds();
		
	// chuyển giây về giờ sử dụng hàm toHours()
	long differentInHours = Duration.between(startDate, endDate).toHours();
		
	// chuyển giây về phút sử dụng hàm toMinutes()
	long differentInMinutes = Duration.between(startDate, endDate).toMinutes();
		
	System.out.println("Sự chênh lệch giữa startDate và endDate là " + 
		differentInSeconds + " giây tương ứng với " + differentInMinutes +
		" phút và tương ứng với " + differentInHours + " giờ.");
}

Kết quả sau khi biên dịch chương trình:

Trở thành Android Developer chuyên nghiệp với 30h học
Bạn muốn trở thành một nhà phát triển mobile app trên nền tảng Android? Vậy thì đây là khóa học rất phù hợp với bạn, chi phí rẻ, học online tại nhà.
XEM NGAY

Nguồn: freetuts.net