TypeScript:
Comparando duas datas
Como fazer:
const date1: Date = new Date('2023-03-15T00:00:00Z');
const date2: Date = new Date('2023-03-16T00:00:00Z');
// Verificar se date1 é anterior a date2
console.log(date1 < date2); // true
// Verificar se date1 é igual a date2
console.log(date1.getTime() === date2.getTime()); // false
// Verificar se date1 é posterior a date2
console.log(date1 > date2); // false
Output:
true
false
false
Aprofundamento
Historicamente, a comparação de datas nos primórdios da computação era menos intuitiva devido a sistemas que não representavam datas de forma unificada. Com o JavaScript e TypeScript, simplificou-se muito usando o objeto global Date
.
Há alternativas, como bibliotecas de terceiros (por exemplo, Moment.js, Date-fns e Day.js), que oferecem mais funções e facilitam o manuseio de datas e fusos horários. No entanto, elas têm suas próprias curvas de aprendizado e sobrecargas.
Na implementação, ao comparar datas em TypeScript, o método getTime()
é confiável, pois retorna o valor da data em milissegundos desde 1 de janeiro de 1970 UTC, tornando-se um número que é facilmente comparável.