JavaScript:
Obliczanie daty w przyszłości lub przeszłości
Jak to zrobić:
Załóżmy, że chcesz dodać 10 dni do dzisiejszej daty:
let today = new Date();
let tenDaysLater = new Date(today.setDate(today.getDate() + 10));
console.log(tenDaysLater.toDateString());
Lub odejmij 5 lat:
let fiveYearsEarlier = new Date(new Date().setFullYear(new Date().getFullYear() - 5));
console.log(fiveYearsEarlier.toDateString());
Wynik:
"Fri Apr 21 2023" // dla pierwszego kodu, zakładając, że dziś jest 11 kwietnia 2023.
"Sun Apr 11 2018" // dla drugiego kodu.
Deep Dive:
Daty w JavaScript opierają się na obiekcie Date
, który był częścią języka niemal od początku, odnosząc się do standardu ECMAScript 1 z 1997 roku. Obiekt Date
może być niestabilny przez strefy czasowe i zmiany czasu letniego/zimowego. Alternatywą może być używanie bibliotek takich jak Moment.js, które ułatwiają pracę z datami. Kiedy dodajesz lub odejmujesz czas, pamiętaj, że nie wszystkie miesiące mają tyle samo dni i uwzględnij zmiany czasu letniego/zimowego.
Zobacz także:
- MDN Web Docs - Date: https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Global_Objects/Date
- Moment.js: https://momentjs.com/
- Date-fns: https://date-fns.org/ – nowoczesna biblioteka do pracy z datami.