Đồng hồ đếm ngược JavaScript

Đây là code JS ạ.


var countDownDate = new Date("10 13, 2019 19:39:50").getTime();
// hàm setInterval để chạy lặp lại trong vòng một giây
var x = setInterval(function(){
	var now = new Date().getTime();
	var distance = countDownDate - now;
	var days = Math.floor(distance / (1000 * 60 * 60 * 24));
	var hours = Math.floor((distance % (1000 * 60 * 60 *24)) / (1000 * 60 *60));
	var minutes = Math.floor((distance % (1000 * 60* 60)) / (1000 * 60));
	var seconds = Math.floor((distance % (1000 * 60)) / 1000);

	document.getElementById("demo").innerHTML = days + "d" + hours + "h" + minutes +"m" + seconds + "s";
	// Nếu kết QUẢ MICRO GIÂY CÒN LẠI < 0 THÌ XÓA CLEARiNTERVAL KHÔNG CHẠY NỮA
	if(distance < 0){
		clearInterval(x);
		document.getElementById("demo").innerHTML = "Hết hạn";
	}
}, 1000);

Nhưng e thắc mắc mấy cái như thế này là sao ạ???

distance / (1000 * 60 * 60 * 24)

Cái này là đổi đơn vị :smiley:

Cách đổi đơn vị xịn sò nhất là như thế này: Khi ta nói 1 tấn = 1000kg nghĩa là 1 tấn = 1000 * 1kg, hay (1 tấn) / (1 kg) = 1000 :slight_smile: vậy (1 phút) / (1 giây) = 60.
Vậy (1 ngày) / (1 giây) = (1 ngày / 1 giờ) * (1 giờ / 1 phút) * (1 phút / 1 giây) = 24 * 60 * 60 :slight_smile:
hay 1 ngày = 24 * 60 * 60 giây.

4 Likes

vậy 1000 ở trong bài này nghĩa là như thế nào vậy ạ?

getTime trả về millisecond thì chia cho 1000 mới ra giây (phần cmt trong code của bạn viết là micro giây là ko đúng)

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?