tengo 3 marcas de tiempo
Hora de inicio: 22:30:00
Hora de finalización: 05:00:00
Hora actual: 03:00:00
Ahora, si la hora actual se encuentra entre StartTime y EndTime, entonces quiero imprimir la "Hora actual". Entonces, en el ejemplo anterior, dado que CurrentTime está entre las 22:30:00 y las 05:00:00, por lo tanto, deseo imprimirlo.
Así que usé el siguiente código
const StartTime = new Date("2019-02-22T23:00"); const EndTime = new Date("2019-02-23T05:00"); const CurrentTime = new Date("2022-02-23T03:00"); const StartTimeHours = StartTime.toLocaleTimeString('en-US', { hour12: false }); const EndTimeHours = EndTime.toLocaleTimeString('en-US', { hour12: false }); const CurrentHours = CurrentTime.toLocaleTimeString('en-US', { hour12: false}); if (StartTimeHours < CurrentHours && CurrentHours < EndTimeHours) { console.log("Current Time",CurrentHours); }Sin embargo, dado que 05:00:00 es menor que 22:30:00, por lo tanto, no está imprimiendo la salida. Entonces, ¿cómo hago para verificar que EndTime esté entre los dos intervalos de tiempo?
Hubo algunos problemas menores en su código,
pero puede intentar verificar los valores completos de fecha y hora, así:
const StartTime = new Date("2022-02-22T23:00"); const EndTime = new Date("2022-02-23T05:00"); const CurrentTime = new Date("2022-02-23T03:00"); const StartTimeHours = StartTime.toLocaleTimeString('en-US', { hour12: false }); const EndTimeHours = EndTime.toLocaleTimeString('en-US', { hour12: false }); const CurrentHours = CurrentTime.toLocaleTimeString('en-US', { hour12: false}); if (StartTime < CurrentTime && CurrentTime < EndTime) { console.log("Current Time",CurrentHours); }