const second = 1000;
const minute = second*60;
const hour = minute*60;
const day = hour*24;
const countdown = (target, heading) => {
const now = new Date();
const diff = target - now;
const timeleft = {};
timeleft.days = Math.trunc(diff/day);
timeleft.hours = Math.trunc(diff%day/hour);
timeleft.minutes = Math.trunc(diff%day%hour/minute);
timeleft.seconds = Math.trunc(diff%day%hour%minute/second);
const formatted = Object.keys(timeleft).map((unit) => {
// retrieve value, cast it to string and optionally pad it with a leading 0
return timeleft[unit]
.toString()
.padStart(2, '0');
});
return `
${formatted[0]} Days
${formatted[1]} Hours
${formatted[2]} Minutes
${formatted[3]} Seconds
`;
};
const hash_date = new Date(location.hash.substr(1))
const update_all = () => {
let i = 1
const date_list = location.hash.split('#').slice(1).map((fragment) => {return new Date(fragment)})
document.getElementById('output').innerHTML = countdown(date_list[0], i);
}
update_all();
setInterval(update_all, 500);