¿Cómo determinar la imagen que se muestra durante las horas de trabajo / días?

¡Así que ya hice esta pregunta antes y recibí lo siguiente como una respuesta que realmente ayuda! Sin embargo, digamos que el negocio abre a las 9:00 AM y cierra a las 5:00 PM hora PST (California) y está cerrado los sábados y domingos.

¿Cómo puedo ajustar eso a continuación?

También tenga en cuenta que el siguiente script está activando una imagen para mostrar / mostrar / ocultar según el horario comercial. Así que a las 9:00 AM hora PST, la imagen dice ‘Estamos abiertos’ y a las 5:00 PM, la imagen luego pasa a ‘Estamos cerrados’. Gracias, chicos, espero haber ingresado suficientes datos / información para que contesten esta pregunta.

Aquí hay una referencia Fiddle .

$(window).load(function(){ // Translate your hours to UTC, example here is using // Central Standard Time (-0500 UTC) // Opening hour in UTC is 16, Closing hour is 0 the next day var d = new Date(), open = new Date(), closed = new Date(); // Statically set UTC date for open open.setUTCHours(16); open.setUTCMinutes(0); open.setUTCSeconds(0); open.setUTCMilliseconds(0); // Statically Set UTC date for closing closed.setUTCDate(d.getUTCDate()+1); // UTC time rotates back to 0, add a day closed.setUTCHours(0); // UTC hours is 0 closed.setUTCMinutes(0); closed.setUTCSeconds(0); closed.setUTCMilliseconds(0); // Debugging console.log("user's date:" + d); console.log("store open time in user's timezone:" + open); console.log("store close time in user's timezone:" + closed); console.log(d > open); // user's time is greater than opening time console.log(d  open && d < closed) { setOpenStatus(true); } else { setOpenStatus(false); } function setOpenStatus(isOpen) { $('#opend').toggle(isOpen); $('#closed').toggle(!isOpen); } });​ 

ESCRITURA EDITADA / ACTUALIZADA

 $(window).load(function(){ // Translate your hours to UTC, example here is using // Central Standard Time (-0500 UTC) // Opening hour in UTC is 16, Closing hour is 0 the next day var d = new Date(), open = new Date(), closed = new Date(); // Statically set UTC date for open open.setUTCHours(16); open.setUTCMinutes(0); open.setUTCSeconds(0); open.setUTCMilliseconds(0); // Statically Set UTC date for closing closed.setUTCDate(d.getUTCDate()+1); // UTC time rotates back to 0, add a day closed.setUTCHours(0); // UTC hours is 0 closed.setUTCMinutes(0); closed.setUTCSeconds(0); closed.setUTCMilliseconds(0); // Debugging console.log("user's date:" + d); console.log("store open time in user's timezone:" + open); console.log("store close time in user's timezone:" + closed); console.log(d > open); // user's time is greater than opening time console.log(d  open && d  open && d < closed)) else { setOpenStatus(false); } function setOpenStatus(isOpen) { $('#opend').toggle(isOpen); $('#closed').toggle(!isOpen); } });​ 

Cambie las pocas líneas de abajo a esto, está un poco confuso en la actualidad.

 if (d.getDay() !== 0 && d.getDay() !== 6 && (d >= open && d < closed)) { setOpenStatus(true); } else { setOpenStatus(false); } 

Entonces entiendes la condición, dice: Si no es domingo (d.getDay() !== 0) o sábado (d.getDay() !== 6) y la hora actual es posterior o en el momento de apertura (d >= open) y antes de la hora de cierre (d < closed) , luego establezca el estado abierto; de lo (else) , establezca el estado cerrado.