-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcountdown.js
More file actions
118 lines (96 loc) · 3.73 KB
/
Copy pathcountdown.js
File metadata and controls
118 lines (96 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
const couDown = new Date('2 April 2022');
const coronaDate = new Date('2 Maret 2020');
const minute = 1000 * 60;
const hour = minute * 60;
const day = hour * 24;
const year = day * 365;
function countDown(date) {
const hariH = document.querySelector('.countDown .hari');
const jamH = document.querySelector('.countDown .jam');
const menitH = document.querySelector('.countDown .menit');
const detikH = document.querySelector('.countDown .detik');
const roundDayH = document.querySelector(".countDown .roundDay");
const finishDateH = document.querySelector(".countDown .finishDate");
setInterval(() => {
let coDown = new Date(date).getTime();
let nowDate = new Date().getTime();
let totalDetik = coDown - nowDate;
let hari = Math.floor(totalDetik / day);
let jam = Math.floor(totalDetik % day / hour);
let menit = Math.floor((totalDetik % hour) / minute);
let detik = Math.floor((totalDetik % minute) / 1000);
let roundDay = Math.ceil(totalDetik / day);
let dayName = getDayName(0, roundDay);
let dateNumber = date.getDate();
let monthName = getMonthName(0, roundDay)
let fullYear = date.getFullYear();
hariH.innerHTML = formatTime(hari);
jamH.innerHTML = formatTime(jam);
menitH.innerHTML = formatTime(menit);
detikH.innerHTML = formatTime(detik);
roundDayH.innerHTML = roundDay;
finishDateH.innerHTML = `${dayName}, ${dateNumber} ${monthName} ${fullYear}`
if (totalDetik <= 0) {
const element = document.querySelector('.times');
element.innerHTML = 'Finish';
element.classList.add('finish');
}
}, 1000);
}
function countUp(date) {
const tahunH = document.querySelector('.countUp .tahun');
const hariH = document.querySelector('.countUp .hari');
const jamH = document.querySelector('.countUp .jam');
const menitH = document.querySelector('.countUp .menit');
const detikH = document.querySelector('.countUp .detik');
const dateSinceH = document.querySelector('.countUp .dateSince')
setInterval(() => {
let coUp = new Date(date).getTime();
let nowDate = new Date().getTime();
let totalDetik = (nowDate - coUp);
let tahun = Math.floor(totalDetik / year);
let hari = Math.floor(totalDetik / day % 365);
let jam = Math.floor(totalDetik / hour % 24);
let menit = Math.floor(totalDetik / minute % 60);
let detik = Math.floor(totalDetik / 1000 % 60);
let dayDate = date.getDate();
let dayName = getDayName(dayDate);
let monthName = getMonthName(date.getMonth());
let fullYear = date.getFullYear();
tahunH.innerHTML = tahun;
hariH.innerHTML = formatTime(hari);
jamH.innerHTML = formatTime(jam);
menitH.innerHTML = formatTime(menit);
detikH.innerHTML = formatTime(detik);
dateSinceH.innerHTML = `${dayName}, ${dayDate} ${monthName} ${fullYear}`
}, 1000);
}
function formatTime(time) {
return time < 10 ? `0${time}` : time;
}
function getDayName(date, numberDay){
const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
if(numberDay == undefined){
let dayName = days[date];
return dayName;
}else{
let d = new Date();
const dayNumber = new Date(d.setDate(d.getDate() + numberDay));
let dayName = days[dayNumber.getDay()];
return dayName;
}
}
function getMonthName(date, numberMonth) {
const months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
if(numberMonth == undefined){
let monthName = months[date];
return monthName;
}else{
const d = new Date();
const dayNumber = new Date(d.setDate(d.getDate() + numberMonth));
let monthName = months[dayNumber.getMonth()];
return monthName;
}
}
countDown(couDown);
countUp(coronaDate);