JSFiddle - React, Tailwind, and code Playground
by Olayinka Otuniyi
HTML
//var thisTime = ""; function timeSQL (time, date) { var thisTime = new Date().toLocaleTimeString('en-GB'); return thisTime; } function dateSQL (date) { var today = new Date(); var date = today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate();
return date; } var updateTimes = new DeltaTimer( function(time) { timeSQL(); dateSQL(); }, 500); updateTimes.start(); //setTimeout(function () { console.log([timeSQL(), dateSQL()]); //}, 1000) function DeltaTimer(render, interval) { var timeout; var lastTime;
this.start = start; this.stop = stop; function start() { timeout = setTimeout(loop, 0); lastTime = + new Date; return lastTime; } function stop() { clearTimeout(timeout); return lastTime; } function loop() { var thisTime = + new Date; var deltaTime =
thisTime - lastTime; var delay = Math.max(interval - deltaTime, 0); timeout = setTimeout(loop, delay); lastTime = thisTime + delay; render(thisTime); } }
JavaScript
//var thisTime = "";
function timeSQL(time, date) {
var thisTime = new Date().toLocaleTimeString('en-GB');
return thisTime;
}
function dateSQL(date) {
var today = new Date();
var date = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate();
return date;
}
var updateTimes = new DeltaTimer(
function(time) {
timeSQL();
dateSQL();
}, 500);
updateTimes.start();
//setTimeout(function () {
console.log([timeSQL(), dateSQL()]);
//}, 1000)
function DeltaTimer(render, interval) {
var timeout;
var lastTime;
this.start = start;
this.stop = stop;
function start() {
timeout = setTimeout(loop, 0);
lastTime = +new Date;
return lastTime;
}
function stop() {
clearTimeout(timeout);
return lastTime;
}
function loop() {
var thisTime = +new Date;
var deltaTime = thisTime - lastTime;
var delay = Math.max(interval - deltaTime, 0);
timeout = setTimeout(loop, delay);
lastTime = thisTime + delay;
render(thisTime);
}
}