Skip to content

Instantly share code, notes, and snippets.

@kyle1elyk
Last active February 27, 2024 07:08
Show Gist options
  • Save kyle1elyk/7cc9e052e196c8e37b12006a5a545d1c to your computer and use it in GitHub Desktop.
Save kyle1elyk/7cc9e052e196c8e37b12006a5a545d1c to your computer and use it in GitHub Desktop.
Simple UTC Clock with copy paste
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Timestamps in Different Timezones</title>
<style>
body {
background-color: black;
color: white;
font-family: 'Courier New', monospace;
font-size: 60px;
line-height: 1.5;
text-align: center;
margin: 50px;
padding-top: 50px;
}
table {
border-collapse: separate;
border-spacing: 0;
}
.timestamp {
color: #BBB;
width: 100%;
background: #000;
border-radius: 20px;
z-index: -1;
padding-right: 10px;
padding-left: 10px;
}
.timestamp:hover { background: #222; }
.timestamp:hover * { color: #FFF; }
.timestamp-td { padding-left: 20px; }
.dial { z-index: 100; display: inline-block; height: 1em; width: 1em; padding: 0; overflow: hidden; margin-right: 20px; border: 2px #000 solid; border-radius: 100px; vertical-align: text-top; }
.dial * { width: 100%; height: 100%; margin: 0px; display: inline-block; position: relative; top: 0; left: 0; background-size: contain; }
.dial .over { z-index: 10; background-image: url('data:image/png;base64,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'); }
.dial .under { transform: rotate(90deg); top: -152%; z-index: 1; background-image: url('data:image/png;base64,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'); }
.date, .time { font-weight: bold; font-size: 85px; }
.date { color: #FFF; }
.t { color: #444; }
.time { color: #FFF; }
.second { font-size: 60px; }
.tz { font-size: .83em; vertical-align: text-bottom; background: #222; border-radius: 40px; padding-left: 20px; padding-right: 20px; border: 3px solid #000; }
.tz-td { text-align: center; padding-right: 20px; }
.timestamp[data-timezone="Etc/UTC"] .tz { background: #555; }
.timestamp[data-timezone="Etc/UTC"] .second { border-color: #8d8d8d !important; border-bottom: 2px solid; border-top: 2px solid; border-image: linear-gradient(to left, #8d8d8d, transparent) 1; }
.timestamp[data-timezone="Etc/UTC"] .offset { border-color: #8d8d8d !important; border-bottom: 2px solid; border-top: 2px solid; border-right: 15px solid; padding-right: 15px; border-radius: 0 10px 10px 0; }
/*
.glow .tz {
animation: glowAnimation 0.2s ease-in-out;
box-shadow: 0 0 0px 0px #FFF;
z-index: 1;
}
.glow td {
animation: glowAnimationBackground 0.2s ease-in-out;
outline-bottom: 1px #000 solid;
}
@keyframes glowAnimation {
0% {
box-shadow: 0 0 0px 0px #FFF;
border-color: #000;
}
3% {
box-shadow: 0 0 10px 5px #FFF;
border-color: #FFF;
}
100% {
box-shadow: 0 0 0px 0px rgba(255,255,255, 0);
border-color: #000;
}
}
@keyframes glowAnimationBackground {
0% {
background: #222;;
}
5% {
background: #444;
}
100% {
background: #222;
}
}
*/
.glow .tz {
box-shadow: 0 0 10px 5px #FFF;
border-color: #FFF;
animation: glowAnimation 0.01s ease-in-out;
}
.glow td {
background: #444;
animation: glowAnimationBackground 0.01s ease-in-out;
}
.unglow .tz {
animation: glowAnimation 0.5s ease-in-out;
animation-direction: reverse;
}
.unglow td {
animation: glowAnimationBackground 0.5s ease-in-out;
animation-direction: reverse;
}
@keyframes glowAnimation {
0% { box-shadow: 0 0 0px 0px #FFF; border-color: #000; }
100% { box-shadow: 0 0 10px 5px #FFF; border-color: #FFF; }
}
@keyframes glowAnimationBackground {
0% { background: #222; }
100% { background: #444; }
}
::selection {
background: rgba(200, 200, 200, 0.6);
color: #333;
}
nav {
z-index: -1;
color: white;
padding-bottom: 5px;
padding-top: 0;
text-align: left;
position: absolute;
margin: 0;
top: 0;
font-size: 18px;
border-bottom: 1px #666 solid;
}
/* Optional: Add styles to make the text stand out more */
nav h1 {
margin: 0;
display: inline-block;
font-size: 36px;
}
/* Firefox (uncomment to work in Firefox, although other properties will not work!) */
/** {
scrollbar-width: thin;
scrollbar-color: #FFFFFF #000000;
}*/
/* Chrome, Edge and Safari */
*::-webkit-scrollbar {
height: 8px;
width: 8px;
}
*::-webkit-scrollbar-track {
border-radius: 0px;
background-color: #000000;
}
*::-webkit-scrollbar-track:hover {
background-color: #000000;
}
*::-webkit-scrollbar-track:active {
background-color: #000000;
}
*::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: #FFFFFF;
border: 1px solid #000000;
}
*::-webkit-scrollbar-thumb:hover {
background-color: #FFFFFF;
}
*::-webkit-scrollbar-thumb:active {
background-color: #FFFFFF;
}
</style>
</head>
<body>
<nav>
<h1>ISO 8601 Timestamps</h1> (click to copy)
</nav>
<center><table id="timestamps"></table></center>
<script>
function createInitial(timezones) {
let timestampsDiv = document.getElementById("timestamps");
timezones.forEach(timezone => timestampsDiv.innerHTML += `<tr class="timestamp" data-timezone="${timezone}">` +
`<td class="tz-td"><span class="tz"><\/span><\/td>` +
`<td><div class="dial"><div class="over"><\/div><div class="under"><\/div><\/div><\/td>` +
`<td class="timestamp-td"><span class="date"><\/span>` +
`<span class="t">T<\/span>` +
`<span class="time"><\/span><span class="second"><\/span>` +
`<span class="offset"><\/span><\/td>` +
`<\/tr>`);
document.querySelectorAll(".timestamp").forEach(tsRow => {
tsRow.addEventListener("mousedown", (e) => {
tsRow.classList.add('glow');
});
tsRow.addEventListener("mouseup", (e) => {
tsRow.classList.remove('glow');
tsRow.classList.add('unglow');
setTimeout(() => {
tsRow.classList.remove('unglow');
}, 500);
});
tsRow.addEventListener("click", (e) => {
const text = tsRow.querySelector(".timestamp-td").innerText;
navigator.clipboard.writeText(text);
});
});
}
const timeRegex = /^(?<month>\d{1,2})\/(?<day>\d{1,2})\/(?<year>\d{4}), (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}).(?<secondPart>\d) GMT(?<offset>[+-]\d{2}:\d{2})?/;
const pad = n => n.toString().padStart(2, "0");
const updateText = (element, text) => { if (element.innerText !== text) element.innerText = text };
let title;
function updateTimestamps() {
const now = new Date();
document.querySelectorAll(".timestamp").forEach(timestamp_p => {
const timezone = timestamp_p.dataset.timezone;
const raw_timestamp = now.toLocaleString('en-US', {
timeZone: timezone,
timeZoneName: "longOffset",
hourCycle: 'h23',
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
second: "numeric",
fractionalSecondDigits: 1,
});
const {year, month, day, hour, minute, second, secondPart, offset} = timeRegex.exec(raw_timestamp).groups;
const mappedOffset = offset == null ? "Z" : offset;
const date = `${year}-${pad(month)}-${pad(day)}`;
const short_time = `${hour}:${minute}`;
const fullSecond = `${second}.${secondPart}`;
updateText(timestamp_p.querySelector(".tz"), timezone);
updateText(timestamp_p.querySelector(".date"), date);
updateText(timestamp_p.querySelector(".t"), "T");
updateText(timestamp_p.querySelector(".time"), short_time);
updateText(timestamp_p.querySelector(".second"), `:${fullSecond}`);
updateText(timestamp_p.querySelector(".offset"), mappedOffset);
timestamp_p.querySelector(".under").style.transform = `rotate(${360 - ((parseInt(hour) * 60 + parseInt(minute)) / 4) }deg)`;
if (timezone === "Etc/UTC" && document.title !== `${date} ${short_time}`) {
document.title = `${date} ${short_time}Z`;
}
});
}
createInitial(["US/Pacific", "America/Phoenix", "US/Central", "US/Eastern", "Etc/UTC", "Asia/Kuwait", "Asia/Kolkata", "Asia/Singapore", "Japan"]);
setInterval(updateTimestamps, 100);
updateTimestamps();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment