-
Notifications
You must be signed in to change notification settings - Fork 0
/
clock.js
39 lines (36 loc) · 1.16 KB
/
clock.js
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
(() => {
let hours = 0
let minutes = 0
let seconds = 0
let day = 0
let month = 0
let year = 0
let dayOfWeek = 'sun'
let daysOfWeek = [
'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'
]
document.addEventListener('DOMContentLoaded', () => {
const timeElement = document.querySelector('.time')
const dateElement = document.querySelector('.date')
const secondsElement = document.querySelector('.seconds-value')
function render () {
timeElement.innerHTML = `${hours}:${minutes}`
secondsElement.innerHTML = seconds
dateElement.innerHTML = `${dayOfWeek}, ${day}.${month}.${year}`
}
function padZeroLeft (text, length = 2) {
return text.toString().padStart(length, '0')
}
setInterval(() => {
const currentDate = new Date()
hours = padZeroLeft(currentDate.getHours())
minutes = padZeroLeft(currentDate.getMinutes())
seconds = padZeroLeft(currentDate.getSeconds())
day = padZeroLeft(currentDate.getDate())
month = padZeroLeft(currentDate.getMonth())
year = currentDate.getFullYear()
dayOfWeek = daysOfWeek[currentDate.getDay()]
render()
}, 500)
})
})()