Обчислення дати у майбутньому або минулому

JavaScript:
Обчислення дати у майбутньому або минулому

Як робити:

const today = new Date();
const daysToAdd = 5;

// Додавання днів
const futureDate = new Date(today);
futureDate.setDate(futureDate.getDate() + daysToAdd);

console.log(`Сьогодні: ${today.toDateString()}`);
console.log(`Дата в майбутньому: ${futureDate.toDateString()}`);

// Віднімання днів
const daysToSubtract = 3;
const pastDate = new Date(today);
pastDate.setDate(pastDate.getDate() - daysToSubtract);

console.log(`Дата в минулому: ${pastDate.toDateString()}`);

Сампл виводу:

Сьогодні: Wed Apr 05 2023
Дата в майбутньому: Mon Apr 10 2023
Дата в минулому: Sun Apr 02 2023

Детальніше:

Клас Date в JavaScript існує з початкових версій мови і є основним засобом для роботи з датами і часом. Альтернативи, як moment.js, колись були популярніши за умовчання в JavaScript, але тепер, з поліпшенням базової мови, часто достатньо стандартного Date. Деталі, як часові зони та перехід на літній/зимовий час, можуть ускладнити роботу з датами. Так звані ISO строки (toISOString()) і Date.UTC() можуть бути корисними для работы в универсальному часовому форматі (UTC).

Також дивіться:

  • MDN Web Docs: Date - Офіційна документація класу Date.
  • ISO 8601 - Стандарт оформлення дат та часу, корисний для міжнародних застосунків.
  • You Don’t Need Moment.js - Поради як обходитися без додаткових бібліотек для роботи з датами.