Skip to content

Commit 45a1505

Browse files
committed
rename file and convert time into 24-hr format
1 parent 37fb80a commit 45a1505

File tree

4 files changed

+77
-78
lines changed

4 files changed

+77
-78
lines changed

_includes/head.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@
3333

3434
{% seo %}
3535

36-
{% include head_custom.html %}
36+
{% include timezone_converter.html %}
3737

3838
</head>

_includes/head_custom.html

Lines changed: 0 additions & 76 deletions
This file was deleted.

_includes/timezone.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

_includes/timezone_converter.html

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<script>
2+
function changeTimezone(toTimezone) {
3+
var elems = document.getElementsByClassName("time");
4+
for (let i = 0; i < elems.length; i++) {
5+
const elem = elems[i];
6+
let fromTimezone = elem.dataset.timezone;
7+
if (fromTimezone === undefined) {
8+
fromTimezone = 'PDT';
9+
}
10+
if (fromTimezone !== toTimezone) {
11+
const timeText = elem.innerHTML;
12+
const [validFromTimezone, utcOffset] = getValidTimezone(fromTimezone);
13+
const dateTimeString = "2020-04-13T" + reformatTimeString(timeText) + utcOffset;
14+
const [validToTimezone,offset] = getValidTimezone(toTimezone);
15+
const converted = new Date(dateTimeString).toLocaleString("en-GB", {timeZone: validToTimezone});
16+
const newTimeArray = converted.split(" ")[1].split(":");
17+
const newTime = newTimeArray[0] + ":" + newTimeArray[1];
18+
elem.innerHTML = newTime;
19+
elem.dataset.timezone = toTimezone;
20+
}
21+
}
22+
}
23+
function reformatTimeString(timeString) {
24+
const re = /(\d?\d:\d\d)(am|pm|AM|PM)?/;
25+
const parsed = timeString.match(re);
26+
if (parsed) {
27+
const hourMinArray = parsed[1].split(":");
28+
let hour = parseInt(hourMinArray[0]);
29+
if (parsed[2]) {
30+
if (parsed[2].toLowerCase() === "pm") {
31+
if (hour !== 12)
32+
hour += 12;
33+
}
34+
}
35+
const hourString = hour.toString().padStart(2, '0');
36+
return hourString + ":" + hourMinArray[1];
37+
}
38+
else
39+
return null
40+
}
41+
function getValidTimezone(timezone) {
42+
let validTimezone = "";
43+
let offset = "";
44+
switch (timezone) {
45+
case 'PDT':
46+
validTimezone = "America/Los_Angeles";
47+
offset = "-07:00";
48+
break;
49+
case 'EDT':
50+
validTimezone = "America/New_York";
51+
offset = "-04:00";
52+
break;
53+
case 'CEST':
54+
validTimezone = "Europe/Amsterdam";
55+
offset = "+02:00";
56+
break;
57+
case 'CST':
58+
validTimezone = "Asia/Hong_Kong";
59+
offset = "+08:00";
60+
break;
61+
case 'MST':
62+
validTimezone = "America/Denver";
63+
offset = "-06:00";
64+
break;
65+
case 'BST':
66+
validTimezone = "Europe/London";
67+
offset = "+01:00";
68+
break;
69+
case 'IST':
70+
validTimezone = "Asia/Kolkata";
71+
offset = "+05:30";
72+
break;
73+
}
74+
return [validTimezone, offset];
75+
}
76+
</script>

0 commit comments

Comments
 (0)