EN
JavaScript - subtract days from date
0
points
In this article, we would like to show you how to subtract days from date in JavaScript.
Quick solution:
// ONLINE-RUNNER:browser;
const date = new Date('2021-06-30');
date.setDate(date.getDate() - 2); // subtracted 2 days from existing date
console.log(date.toISOString()); // 2021-06-28T00:00:00.000Z
or:
// ONLINE-RUNNER:browser;
const date = new Date('2021-06-30');
const newDate = new Date(date.getTime() - 2 * (24 * 60 * 60 * 1000)); // subtracted 2 days from existing date
console.log(newDate.toISOString()); // 2021-06-28T00:00:00.000Z
1. Example reusable lambda function
In this example, we create a simple function that takes two arguments:
date
from which we want to subtract some days,days
- a number of days we want to subtract.
Runnable example:
// ONLINE-RUNNER:browser;
const subtractDays = (date, days) => {
let result = new Date(date);
result.setDate(result.getDate() - days);
return result;
};
let date = new Date('2021-06-30');
let result = subtractDays(date, 3);
console.log(result.toISOString()); // 2021-06-27T00:00:00.000Z
2. Extending existing Date
class with Date.prototype
In this example, we add a function to the Date.prototype
so we can use it on any date object.
// ONLINE-RUNNER:browser;
Date.prototype.subtractDays = function (days) {
let date = new Date(this.valueOf());
date.setDate(date.getDate() - days);
return date;
};
let date = new Date('2021-06-30');
let result = date.subtractDays(2)
console.log(result.toISOString()); // 2021-06-28T00:00:00.000Z