JavaScript:
Beregning av en dato i fremtiden eller fortiden
Hvordan gjøre det:
For å beregne en ny dato, kan vi bruke Date
objektet. Her er noen enkle eksempler:
// Dagens dato
let iDag = new Date();
// Legge til 5 dager
let femDagerFrem = new Date();
femDagerFrem.setDate(iDag.getDate() + 5);
console.log(femDagerFrem);
// Trekk fra 3 uker
let treUkerTilbake = new Date();
treUkerTilbake.setDate(iDag.getDate() - 21);
console.log(treUkerTilbake);
// Legge til 2 måneder
let toManederFrem = new Date();
toManederFrem.setMonth(iDag.getMonth() + 2);
console.log(toManederFrem);
Vær oppmerksom på håndtering av kanttilfeller, som overgangen til en ny måned eller år.
Dypdykk
I starten hadde Javascript begrenset støtte for dato- og tidsfunksjoner. Det var derfor biblioteker som Moment.js vokste i popularitet. Nå, med nye funksjoner i ECMAScript-standardene, er native støtte mye kraftigere.
Alternativer til´Date´ inkluderer biblioteker som Date-fns og Day.js, som tilbyr mer funksjonalitet og enklere APIer. Når det gjelder implementering, er det viktig å håndtere tidssoner og skuddår korrekt. JavaScripts Date
objekt regner med skuddsekunder, og tidssonehåndtering gjøres ofte ved hjelp av biblioteker eller integrert Intl
objektet for internasjonalisering støtte.
For å navigere mellom forskjellige datoformater og -operasjoner, er forståelse av UTC (Coordinated Universal Time) og lokale tidsalternativer vital. Å bruke Date
objektets toISOString()
eller toLocaleString()
kan være nyttig for formatering.
Se også
For videre lesning og koderessurser, sjekk ut følgende:
- MDN Web Docs om
Date
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date - Date-fns biblioteket: https://date-fns.org/
- Day.js biblioteket: https://day.js.org/
- Moment.js (merk at dette biblioteket nå er ansett som utdatert): https://momentjs.com/
Merk at du alltid bør holde deg oppdatert på nyeste praksis, da JavaScript og dets økosystem er i konstant endring.