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 />');