Quiero convertir una marca de tiempo UTC al formato mm/dd/yyyy hh:mm:ss en Javascript.
timestamp = '1645199199.241098' const d1 = new Date(parseInt(timestamp) * 1000) .toLocaleString("en-US", { hour12:false, timeZone: 'America/Chicago', }); console.log(d1)Este código de arriba no me da meses y días de dos dígitos. Establecer las opciones para el mes y el día de 2 dígitos me da el formato de fecha correcto pero elimina la hora de la salida por completo.
timestamp = '1645199199.241098' const d2 = new Date(parseInt(timestamp) * 1000) .toLocaleString("en-US", {hour12:false, timeZone: 'America/Chicago', year: 'numeric', month: '2-digit', day: '2-digit' }); console.log(d2);¿Cómo retengo la hora y obtengo la fecha en el formato deseado en mi salida?
Puede agregar las opciones restantes para hora, minuto y segundo:
const timestamp = '1645199199.241098'; const d2 = new Date(parseInt(timestamp) * 1000) .toLocaleString("en-US", { hour12: false, timeZone: 'America/Chicago', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }); console.log(d2);Documentación sobre opciones disponibles y valores de formato de valor:
Cuando comienza a especificar qué partes desea tener en la cadena, el resto de ellas están ausentes por defecto. Si quieres la hora, tienes que decirle que:
const timestamp = "1645199199.241098" const d2 = new Date(parseInt(timestamp) * 1000) .toLocaleString("en-US", { hour12: false, timeZone: "America/Chicago", year: "numeric", month: "2-digit", day: "2-digit", hour: "numeric", // *** minute: "numeric", // *** second: "numeric", // *** }); console.log(d2);