Last active
December 25, 2020 03:46
-
-
Save logonoff/5e86809b42f851faca6711251077577a to your computer and use it in GitHub Desktop.
countdown timer to three months after next christmas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- sorry. --> | |
<style> | |
body { | |
margin: 0; | |
padding: 0; | |
} | |
.container { | |
background: #222; | |
width: 100%; | |
height: 100vh; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
} | |
#timer { | |
color: #fff; | |
font-size: 4rem; | |
} | |
.label { | |
font-size: 2.5rem; | |
padding-left: 0.25rem; | |
} | |
</style> | |
<div class="container"> | |
<p id="timer"> | |
<span id="timer-days"></span> | |
<span id="timer-hours"></span> | |
<span id="timer-mins"></span> | |
<span id="timer-secs"></span> | |
</p> | |
</div> | |
<script> | |
function getTheYear() { | |
var d = new Date(); | |
var y = d.getFullYear(); | |
if (d.getMonth() == 11 && d.getDate() >= 25) { y += 1; } | |
return y + 1; | |
} | |
var timer = setInterval(function() { | |
let year = getTheYear(); | |
let endDate = new Date("Mar 25, " + year + " 00:00:00").getTime(); | |
let now = new Date().getTime(); | |
let t = endDate - now; | |
let days = Math.floor(t / (1000 * 60 * 60 * 24)); | |
let hours = Math.floor((t % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); | |
let mins = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60)); | |
let secs = Math.floor((t % (1000 * 60)) / 1000); | |
if (days != 0 && days != 1) { | |
document.getElementById("timer-days").innerHTML = days + | |
"<span class='label'>DAYS</span>"; | |
} else { | |
document.getElementById("timer-days").innerHTML = days + | |
"<span class='label'>DAY</span>"; | |
} | |
if (("0"+hours).slice(-2) != 0 && ("0"+hours).slice(-2) != 1) { | |
document.getElementById("timer-hours").innerHTML = ("0"+hours).slice(-2) + | |
"<span class='label'>HRS</span>"; | |
} else { | |
document.getElementById("timer-hours").innerHTML = ("0"+hours).slice(-2) + | |
"<span class='label'>HR</span>"; | |
} | |
if (("0"+mins).slice(-2) != 0 && ("0"+mins).slice(-2) != 1) { | |
document.getElementById("timer-mins").innerHTML = ("0"+mins).slice(-2) + | |
"<span class='label'>MINS</span>"; | |
} else { | |
document.getElementById("timer-mins").innerHTML = ("0"+mins).slice(-2) + | |
"<span class='label'>MIN</span>"; | |
} | |
if (("0"+secs).slice(-2) != 0 && ("0"+secs).slice(-2) != 1) { | |
document.getElementById("timer-secs").innerHTML = ("0"+secs).slice(-2) + | |
"<span class='label'>SECS</span>"; | |
} else { | |
document.getElementById("timer-secs").innerHTML = ("0"+secs).slice(-2) + | |
"<span class='label'>SEC</span>"; | |
} | |
}, 5); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment