JSFiddle - React, Tailwind, and code Playground
by nipheon
JavaScript
baseTime = new Date();
baseTime.setHours(7);
baseTime.setMinutes(38);
Date.prototype.addMinutes = function(m) {
this.setMinutes(this.getMinutes() + m);
};
Date.prototype.subMinutes = function(m) {
this.setMinutes(this.getMinutes() - m);
};
Date.prototype.copy = function() {
return new Date(this.getTime());
};
var firstCycle = 90,
otherCycle = 110;
minCycles = 0;
maxCycles = 5;
getreadyTime=10;
fallAsleepTime = 15;
wakeupTime = [new Date()];
baseTime.subMinutes(getreadyTime + fallAsleepTime);
/*
wakeupTime[0] = baseTime.copy();
wakeupTime[0].addMinutes(cycles[0]);
for (var i = 1; i < cycles.length; i++) {
wakeupTime[i] = wakeupTime[i-1].copy();
wakeupTime[i].addMinutes(cycles[i-1]);
}
*/
wakeupTime[0] = baseTime.copy();
wakeupTime[0].subMinutes(firstCycle);
for (var i = minCycles; i <= maxCycles; i++) {
wakeupTime[i] = baseTime.copy();
wakeupTime[i].subMinutes(firstCycle+(otherCycle*i));
}
document.write(baseTime + '<br />');
for (i=0; i < wakeupTime.length; i++) document.write(wakeupTime[i] + '<br />');