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 - Поради як обходитися без додаткових бібліотек для роботи з датами.