I am using the below code to switch between 2 class names on a page element based on what time of the day it is. Currently the class name will switch between the hours of 07:00AM - 23:00PM.
Is it possible to alter this code so that we could have one timeframe for days Monday - Friday and another timeframe for Saturday and Sunday?
jQuery(function ($) {
window.setInterval(SetImage,0); /* set this to at least 10 min */
function SetImage(){
var nowdate = new Date();
var waketime = new Date();
waketime.setHours(7);
waketime.setMinutes(00);
var bedtime = new Date();
bedtime.setHours(23);
bedtime.setMinutes(00);
if(waketime < nowdate && nowdate < bedtime) {
document.body.setAttribute('data-daytime','');
}else{
document.body.setAttribute('data-nighttime','');
}
}
});
Yes, you can take a look at getDay() to get what day it is.
you can do something like this
const defaultSchedule = { wake: 7, bed: 23 }
const schedule = {
// Sunday - Saturday : 0 - 6
0: { wake: 9, bed: 23 },
6: { wake: 9, bed: 03 },
}
const times = schedule[new Date().getDay()] || defaultSchedule
waketime.setHours(times.wake);
bedtime.setHours(times.bed);