Estoy construyendo un sitio web usando create-react-app y necesito obtener la próxima hora de la lista en comparación con la hora actual. mi lista de tiempo es
let times = [ { time: "05:33", }, { time: "12:20", }, { time: "15:23", }, { time: "17:46", }, { time: "19:08", }, ];He intentado muchas soluciones, pero todo fue en vano, una solución que tampoco tiene éxito es
const compareTime = moment().format("hh:mm"); time7.map((item, i) => { console.log( Date.parse( `01/01/2011 ${format(parse(item.time, "HH:mm", new Date()), "hh:mm")}45` ) > Date.parse(`01/01/2011 ${compareTime}:10`) ); });Estoy muy atascado en esto y estoy tratando de resolver este problema durante casi una semana. Necesito una solución adecuada para obtener el próximo tiempo de la lista. Cualquier tipo de ayuda será apreciada.
let currentTime = new Date(); currentTime = currentTime.getHours().toString().padStart(2, '0') + currentTime.getMinutes().toString().padStart(2, '0'); let futureTimes = times.filter((obj) => { return obj.time > currentTime; }) .sort((a, b) => { return a.time < b.time ? -1 : a.time > b.time; }); let nextTime = futureTimes.length ? future times[0] : null;Probablemente deba verificarlo dos veces y modificarlo, pero la codificación en mi teléfono móvil es un poco difícil.
Solución más simple:
let currentTime = new Date(); currentTime = currentTime.getHours().toString().padStart(2, '0') + currentTime.getMinutes().toString().padStart(2, '0'); let nextTime = times .sort((a, b) => { return a.time < b.time ? -1 : a.time > b.time; }) .find((obj) => { return obj.time > currentTime; });