Tengo una hora UTC con desplazamiento como a continuación. Estoy tratando de formatear la cadena de fecha y hora UTC usando la función de format de la biblioteca date-fns .
import { format } from "date-fns"; const utcDateTime = "2021-10-14T21:03:56.3256046+00:00"; const formattedDate = format(new Date(utcDateTime), "MM/dd/yyyy hh:mm"); Lo que espero es 10/14/2021 21:03 , un formato de hora de 24 horas, pero lo que obtengo es 10/14/2021 04:03 , una fecha convertida para mi zona horaria.
¿Cómo mostrar la fecha y la hora exactamente como con la hora UTC en lugar de convertir la fecha y la hora a la zona horaria local?
Creé un ejemplo de trabajo usando CodeSandbox . ¿Alguien podría ayudar?
Después de pasar mucho tiempo, pude lograr el resultado deseado utilizando el objeto Date de JavaScript simple y sus funciones.
Primero, analizando la cadena de fecha y hora y convirtiéndola en una cadena ISO usando la función toISOString() .
En segundo lugar, dividir los extractos de fecha y hora formateados de la cadena ISO.
A continuación se muestra el código
const formatToUTCDateTime = (dateString) => { const date = new Date(Date.parse(dateString)); const formattedDate = date.toISOString().split("T")[0].split("-"); const formattedTime = date.toISOString().split("T")[1].split(":"); return `${formattedDate[1]}/${formattedDate[2]}/${formattedDate[0]} ${formattedTime[0]}:${formattedTime[1]}`; }; console.log("Result - ", formatToUTCDateTime("2021-10-14T20:03:56.3256046+00:00"));