¿Cómo puedo convertir esto: "08:30 AM-09:30 AM" en esto: "20:30-21:30" ¡Gracias! Su oración (valor de cadena)
Creo que quieres decir "08:30 p. m.-09:30 p. m." en "20:30-21:30"
function to24Hours(time){ let hours = time.substr(0,2); let minutes = time.substr(3,2); let AMorPm = time.substr(5,2); if(AMorPm ==="PM"){ let PMhour = parseInt(hours) + 12 let h = PMhour === 24 ? "12" : String(PMhour) return `${h.padStart(0,2)}:${minutes}` } let AMhour = hours === "12" ? "00" : hours return `${AMhour}:${minutes}` } function to24HoursRange(timeRange){ const [time1, time2] = timeRange.split("-") return to24Hours(time1) + "-" + to24Hours(time2) } console.log(to24HoursRange("08:30PM-09:30PM"))Puede usar la biblioteca de moment para resolver su problema.
Puede especificar el tiempo para el constructor de momentos y luego usar la opción de formato .
Ejemplo :
const time = "08:30PM-09:30PM" const times = time.split('-') const newTimes = times.map(t => moment(t, ["h:mm A"]).format("HH:mm")) console.log(newTimes.join('-')) <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment.min.js"></script>