Estoy tratando de usar la función de fecha para convertir el tiempo de Unix que estoy tratando de convertir a un formato determinado. La función devuelve correctamente la fecha en el formato solicitado, pero la hora es incorrecta. ¿Que me estoy perdiendo aqui?
const date = (e) => { const unixTime = 1642698000 const format = { weekday: 'long', day: 'numeric', month: "2-digit", year: "numeric" } return(new Date (unixTime).toLocaleString('en-US', format)) }Salida esperada (aplicación)
Tue Jan 18 2022 17:00:00La salida recibida
Mon Jan 19 1970 19:18:18 GMT-0500 (Eastern Standard Time)Intenté seguir otros ejemplos, pero no pude encontrar ninguno que resolviera este problema. ¡Agradezco tu ayuda de antemano!
El constructor de fecha de Javascript acepta la cantidad de milisegundos como marca de tiempo, no el tiempo de Unix (cantidad de segundos). Entonces, para ajustar eso, simplemente multiplique el tiempo de Unix por 1000.
const date = () => { const unixTime = 1642698000 * 1000 const format = { weekday: 'long', day: 'numeric', month: "2-digit", year: "numeric" } return(new Date (unixTime).toLocaleString('en-US', format)) } console.log(date()) // logs Thursday, 01/20/2022