Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
parse date-fns returns one day previous value

I am trying to parse date using date-fns library for the first time (I removed moment.js and I will introduce date-fns in my project) but, when I use parse function, I get one day previous as result. I read in this topic

parse function in date-fns returns one day previous value

that problem is due to timezones but I could not be able to fix my problem because I receive dates in the format "yyyyMMdd". This is my code

var start ="20210119";
var stop ="20210130";

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

Output of my console log is: 2021-01-18T23:00:00.000Z

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Your dateFrom date is actually correct, assuming you want it in your local time.

The reason it's showing an hour earlier in your console output is because it is being displayed in UTC time (hence the 'Z' for Zulu at the end). I assume your local time is one hour ahead of UTC in January.

We can use Date.toLocaleString() to output the time in either UTC or local time.

If we output in local time, we see the date is actually correct (2021-01-19 00:00:00), and if we output in UTC (set the timeZone to 'UTC') we see it is one hour earlier (as in your console output).

We can also output the local date using Date.getFullYear(), Date.getMonth() and 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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda