TypeScript:
Beräkna ett datum i framtiden eller förflutenheten
Så här gör du:
TypeScript ger dig kraftfulla verktyg för att hantera datum. Här ser du hur enkelt det är:
const now = new Date(); // Nuvarande datum och tid
// Lägga till 10 dagar
const tenDaysLater = new Date(now);
tenDaysLater.setDate(now.getDate() + 10);
console.log(tenDaysLater);
// Ta bort 5 dagar
const fiveDaysAgo = new Date(now);
fiveDaysAgo.setDate(now.getDate() - 5);
console.log(fiveDaysAgo);
Kör du koden får du två datum: ett 10 dagar framåt och ett 5 dagar tillbaka från nu.
Djupdykning:
I gamla Javascript-tider användes ofta bibliotek som Moment.js för datumhantering på grund av komplexiteten med inbyggda Date-objektet. Med moderna JavaScript (och därmed TypeScript) är det numera lättare att hantera datum, men bibliotek som date-fns eller Luxon används fortfarande för mer avancerade behov då de hanterar tidszoner och lokalisering bättre.
Ett viktigt koncept vid datummanipulation är immutabilitet. När du använder funktioner som setDate
, skapar du en ny instans av Date-objektet för att förhindra oavsiktliga förändringar i det ursprungliga datumet.
När det gäller prestanda på webben kan tunga datumoperationer blockera huvudtråden och försämra användarupplevelsen. Det är där asynkrona funktioner eller Web Workers kan komma in i bilden för att undvika det.
Se även:
- MDN Web Docs om Date-objektet: MDN Date - Mozilla
- Biblioteket date-fns för modern JavaScript-datumhantering: date-fns
- Luxon, ett bibliotek för datum och tid: Luxon