Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
parse date-fns devuelve el valor de un día anterior

Estoy tratando de analizar la fecha usando la biblioteca date-fns por primera vez (eliminé moment.js e introduciré date-fns en mi proyecto) pero, cuando uso la función de análisis, obtengo un día anterior como resultado. leí en este tema

La función de análisis en date-fns devuelve el valor de un día anterior.

ese problema se debe a las zonas horarias, pero no pude solucionar mi problema porque recibo fechas en el formato "yyyyMMdd". este es mi codigo

 var start ="20210119"; var stop ="20210130"; const dateFrom = parse(start, "yyyyMMdd", new Date()); console.log("date form",dateFrom);

El resultado del registro de mi consola es: 2021-01-18T23:00:00.000Z

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su fecha dateFrom es realmente correcta, suponiendo que la desee en su hora local.

La razón por la que se muestra una hora antes en la salida de la consola es porque se muestra en hora UTC (de ahí la 'Z' de zulú al final). Supongo que su hora local está una hora por delante de UTC en enero.

Podemos usar Date.toLocaleString() para generar la hora en UTC o en hora local.

Si generamos la salida en hora local, vemos que la fecha es realmente correcta (2021-01-19 00:00:00), y si generamos la salida en UTC (establecemos la zona horaria en 'UTC') vemos que es una hora antes ( como en la salida de su consola).

También podemos generar la fecha local usando Date.getFullYear() , Date.getMonth() y Date.getDate() .

 var start ="20210119"; var stop ="20210130"; const dateFrom = dateFns.parse(start, "yyyyMMdd", new Date()); console.log("Date from (is Date object):", dateFrom instanceof Date); console.log("\nDate from (console.log):",dateFrom); console.log("Date from (UTC):", dateFrom.toLocaleString([], { timeZone: 'UTC' })); console.log("\nDate from (Local):", dateFrom.toLocaleString()); console.log("Date from (Local):", dateFrom.toDateString()); console.log("Date from (Local):", `${dateFrom.getFullYear()}-${dateFrom.getMonth()+1}-${dateFrom.getDate()}`);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.28.5/date_fns.min.js"></script>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda