TypeScript:
Обчислення дати у майбутньому або минулому
Як це зробити:
// Додавання днів до поточної дати
function addDays(date: Date, days: number): Date {
const result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
// Віднімання днів від поточної дати
function subtractDays(date: Date, days: number): Date {
return addDays(date, -days);
}
// Приклад використання
const today = new Date();
console.log(today); // Показує поточну дату
console.log(addDays(today, 10)); // Показує дату за 10 днів
console.log(subtractDays(today, 5)); // Показує дату 5 днів назад
Пірнаємо глибше:
Використання класу Date
у JavaScript і TypeScript для обрахунку дат — це базовий метод, який існує вже роками. Альтернативи, як Moment.js
і date-fns
, пропонують більше можливостей і зручностей, але з недавніх пір Moment.js
більше не розвивається, тому date-fns
чи навіть нативний Intl
API можуть бути кращим вибором.
Обрахунок дат може включати часові пояси та літній час, що ускладнює завдання. Рекомендується використовувати бібліотеки, що можуть впоратися з цими питаннями.
Також, важливим є і коректна обробка високосних років і варіацій у кількості днів у місяцях. TypeScript не робить це автоматично, тому обережно використовуйте setDate
і подібні методи, або застосовуйте зовнішні бібліотеки.