TypeScript:
Calculando uma data no futuro ou passado
Como Fazer:
const hoje: Date = new Date();
const diasParaAdicionar: number = 10;
// Acrescentando dias à data atual para obter uma data no futuro.
const futuro: Date = new Date(hoje.getTime() + (diasParaAdicionar * 24 * 60 * 60 * 1000));
console.log(`Data Futura: ${futuro.toLocaleDateString()}`);
const diasParaSubtrair: number = 5;
// Subtraindo dias da data atual para obter uma data no passado.
const passado: Date = new Date(hoje.getTime() - (diasParaSubtrair * 24 * 60 * 60 * 1000));
console.log(`Data Passada: ${passado.toLocaleDateString()}`);
Sample Output:
Data Futura: 02/04/2023
Data Passada: 18/03/2023
Análise Detalhada:
Datas são cruciais para quase todos os sistemas. A capacidade de manipular o tempo é herdada das linguagens C e C++, que influenciaram muito o JavaScript e, por extensão, o TypeScript. TypeScript, sendo um superset de JavaScript, lida com datas usando o mesmo objeto Date
do JavaScript.
Outras bibliotecas como moment.js
já foram muito usadas para manipulação mais complexa de datas por causa da simplicidade e poderosos recursos. No entanto, muitos estão migrando para bibliotecas mais modernas como date-fns
ou Day.js
devido às suas API mais leves e modularização melhor.
Quando se calcula datas, é importante considerar fusos horários e horário de verão. TypeScript não tem funcionalidades próprias para isso, então geralmente dependemos de APIs de navegador ou de bibliotecas externas.
Veja Também:
- MDN Web Docs - Date: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date
- Day.js: https://day.js.org/
- date-fns: https://date-fns.org/
- Luxon: https://moment.github.io/luxon/#/?id=luxon