EN
JavaScript - subtract seconds from date
0
points
In this article, we would like to show you how to subtract seconds from date in JavaScript.
Quick solution:
// ONLINE-RUNNER:browser;
const date = new Date('2021-06-30T00:00:00.000Z');
date.setSeconds(date.getSeconds() - 2); // subtracted 2 seconds from existing date
console.log(date.toISOString()); // 2021-06-29T23:59:58.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 seconds,seconds
- a number of seconds we want to subtract.
Runnable example:
// ONLINE-RUNNER:browser;
const subtractSeconds = (date, seconds) => {
let result = new Date(date);
result.setSeconds(result.getSeconds() - seconds);
return result;
};
let date = new Date('2021-06-30T00:00:00.000Z');
console.log(subtractSeconds(date, 1).toISOString());
Output:
2021-06-29T23:59:59.000Z
Note:
As you can see, the function also handles the case of the day change.
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.subtractSeconds = function(seconds) {
let date = new Date(this.valueOf());
date.setSeconds(date.getSeconds() - seconds);
return date;
}
let date = new Date('2021-06-30T00:00:00.000Z');
console.log(date.subtractSeconds(2).toISOString());
Output:
2021-06-29T23:59:58.000Z