🌙 Sleeping Time Calculator
Calculate the best bedtime or wake-up time using 90-minute sleep cycles.
Each complete sleep cycle lasts about 90 minutes.
let mode="wake";
const wakeBtn=document.getElementById("wakeBtn"); const sleepBtn=document.getElementById("sleepBtn");
wakeBtn.onclick=function(){
mode="wake";
wakeBtn.classList.add("active"); sleepBtn.classList.remove("active");
}
sleepBtn.onclick=function(){
mode="sleep";
sleepBtn.classList.add("active"); wakeBtn.classList.remove("active");
}
function formatTime(date){
let h=date.getHours();
let m=date.getMinutes();
let ampm=h>=12?"PM":"AM";
h=h%12;
if(h==0)h=12;
m=m.toString().padStart(2,"0");
return h+":"+m+" "+ampm;
}
function calculateSleep(){
const value=document.getElementById("time").value;
if(value==""){
alert("Please select a time.");
return;
}
const parts=value.split(":");
let date=new Date();
date.setHours(parts[0]); date.setMinutes(parts[1]); date.setSeconds(0);
let html="";
if(mode=="wake"){
for(let i=6;i>=1;i--){
let d=new Date(date);
d.setMinutes(d.getMinutes()-15);
d.setMinutes(d.getMinutes()-(90*i));
html+=`
${i} Sleep Cycles
${formatTime(d)}
`;
}
}else{
for(let i=1;i<=6;i++){ let d=new Date(date); d.setMinutes(d.getMinutes()+15); d.setMinutes(d.getMinutes()+(90*i)); html+=`
${i} Sleep Cycles
${formatTime(d)}
`;
}
}
document.getElementById("output").innerHTML=html;
}