Time Remaining
by Matthew Day
JavaScript
const timer = () => {
const msDay = 86400000;
const msHour = 3600000;
const offset = new Date().getTimezoneOffset()/60;
const msOffset = new Date().getTimezoneOffset() * 60000;
// Today's start date in milliseconds
let start = new Date();
start.setHours(0 - offset,0,0,0);
let msStart = new Date(start).getTime();
// Right now in milliseconds
let msNow = Date.now() - msOffset;
// Today's end data in milliseconds
let end = new Date();
end.setHours(23 - offset,59,59,999);
let msEnd = new Date(end).getTime();
console.log(msStart, msNow, msEnd);
const remainingTime = (ms) => {
let hours = Math.floor((ms/(1000 * 60 * 60)) % 24);
let minutes = Math.floor((ms/(1000*60)) % 60);
let seconds = Math.floor((ms/1000) % 60);
return {
hours: hours,
minutes: minutes,
seconds: seconds
}
}
return remainingTime(msEnd - msNow);
};
console.log(timer());
// SOURCE
// https://stackoverflow.com/questions/8528382/javascript-show-milliseconds-as-dayshoursmins-without-seconds