Tengo una cadena de fecha y hora: " dateTime "2022-02-03T18:40:00.000Z" Quiero convertir esto en 6:40 p.m. ¿Cómo haría yo para hacer algo así?
Por lo general, recomendaría usar una biblioteca de fechas para la manipulación y el formato de fechas, pero esto también se puede hacer con bastante facilidad sin una.
const date = new Date("2022-02-03T18:40:00.000Z"); const convert = (date) => { const str = (date.getHours() < 12 || date.getHours() === 24) ? "AM" : "PM"; const hours = date.getHours() % 12 || 12; return `${hours}:${date.getMinutes()}${str}`; } console.log(convert(date)); o usando toLocaleString con formato en-us.
const date = new Date("2022-02-03T18:40:00.000Z"); const convert = (date) => { return date.toLocaleTimeString( 'en-US', {timeZone: 'UTC', hour12: true, hour: 'numeric', minute: 'numeric'} ); } console.log(convert(date));