-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
67 lines (56 loc) · 2.28 KB
/
index.js
File metadata and controls
67 lines (56 loc) · 2.28 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
function updateTime(){
// New York Display
let newYorkElement= document.querySelector("#new-york");
if(newYorkElement) {
let newYorkDateElement= newYorkElement.querySelector (".date");
let newYorkTimeElement= newYorkElement.querySelector (".time");
let newYorkTime= moment().tz ("America/New_York");
newYorkDateElement.innerHTML= newYorkTime.format ("MMMM Do, YYYY");
newYorkTimeElement.innerHTML= newYorkTime.format("h:mm:ss [<small>]A[</small>]");
}
// London Display
let londonElement= document.querySelector("#london");
if(londonElement) {
let londonDateElement= londonElement.querySelector (".date");
let londonTimeElement= londonElement.querySelector (".time");
let londonTime= moment().tz ("Europe/London");
londonDateElement.innerHTML= londonTime.format ("MMMM Do, YYYY");
londonTimeElement.innerHTML= londonTime.format("h:mm:ss [<small>]A[</small>]");
}
// Tokyo Display
let tokyoElement= document.querySelector("#tokyo");
if(tokyoElement) {
let tokyoDateElement= tokyoElement.querySelector (".date");
let tokyoTimeElement= tokyoElement.querySelector (".time");
let tokyoTime= moment().tz ("Asia/Tokyo");
tokyoDateElement.innerHTML= tokyoTime.format ("MMMM Do, YYYY");
tokyoTimeElement.innerHTML= tokyoTime.format("h:mm:ss [<small>]A[</small>]");
}
}
// If I wanted to add milliseconds, I would use the following line:
// newYorkTimeElement.innerHTML= newYorkTime.format("h:mm:ss.SSS [<small>]A[</small>]"); my interval would need to be 1 millisecond, not 1000 milliseconds (1 second).
function updateCity(event) {
let cityTimeZone = event.target.value;
if (cityTimeZone==="current") {
cityTimeZone = moment.tz.guess();
}
let cityName = cityTimeZone.replace("_", " ").split("/")[1];
let cityTime = moment().tz(cityTimeZone);
let citiesElement = document.querySelector("#cities");
citiesElement.innerHTML = `
<div class="city">
<div>
<h2>${cityName}</h2>
<div class="date">${cityTime.format("MMMM Do YYYY")}</div>
</div>
<div class="time">${cityTime.format("h:mm:ss")} <small>${cityTime.format(
"A"
)}</small></div>
</div>
<a href="/" id="back-to-world-clock">Back to all cities</a>
`;
}
updateTime();
setInterval(updateTime, 1000);
let citiesSelectElement=document.querySelector("#city-select");
citiesSelectElement.addEventListener("change", updateCity);