1
resposta

A função `moment.isSamerOrAfter()` está retornando resultados aleatórios

Meu código

const dataCriacao = moment().format('YYYY-MM-DD HH:MM:SS')
const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS')

const dataEhValida = moment(data).isSameOrAfter(dataCriacao)

console.log(`${dataEhValida} >> dataCriação:${dataCriacao}, data:${data}`)

Cada vez que faço uma requisição(com os mesmo valores de entrada) recebo um valor diferente em dataEhValida:

false >> dataCriação:2021-05-17 10:05:79, data:2021-05-20 00:05:00
false >> dataCriação:2021-05-17 10:05:86, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:18, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:29, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:48, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:54, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:04, data:2021-05-20 00:05:00
false >> dataCriação:2021-05-17 10:05:85, data:2021-05-20 00:05:00
true >> dataCriação:2021-05-17 10:05:12, data:2021-05-20 00:05:00

EDIT: Acabei de perceber que em alguns momentos a data de criação está sendo gerada com os segundos fora da base sexagesimal. Por que isso ocorre?

1 resposta

Oi, Henrique! Tudo bem?

Desculpa a demora por um retorno.

De acordo com o código podemos perceber que estamos gerando a data de criação utilizando o formato 'YYYY-MM-DD HH:MM:SS'. Notamos que em alguns momentos a data de criação está sendo gerada com os segundos fora da base sexagesimal. Isso ocorre porque estamos utilizando SS para representar os segundos, quando o correto seria ss.

Tente alterar a linha que gera a data de criação para const dataCriacao = moment().format('YYYY-MM-DD HH:mm:ss') e veja se o problema persiste.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software