EN
JavaScript - subtract hours from date
0 points
In this article, we would like to show you how to subtract hours from date in JavaScript.
Quick solution:
xxxxxxxxxx
1
const date = new Date('2021-06-30T00:00:00.000Z');
2
3
date.setHours(date.getHours() - 2); // subtracted 2 hours from existing date
4
5
console.log(date.toISOString()); // 2021-06-29T22:00:00.000Z
In this example, we create a simple function that takes two arguments:
date
from which we want to subtract some seconds,hours
- a number of hours we want to subtract.
Runnable example:
xxxxxxxxxx
1
const subtractHours = (date, hours) => {
2
const result = new Date(date);
3
result.setHours(result.getHours() - hours);
4
return result;
5
};
6
7
const date = new Date('2021-06-30T00:00:00.000Z');
8
9
console.log(subtractHours(date, 2).toISOString());
Output:
xxxxxxxxxx
1
2021-06-29T22:00:00.000Z
Note:
As you can see, the function also handles the case of the day change.
In this example, we add a function to the Date.prototype
so we can use it on any date object.
xxxxxxxxxx
1
Date.prototype.subtractHours = function (hours) {
2
let date = new Date(this.valueOf());
3
date.setHours(date.getHours() - hours);
4
return date;
5
};
6
7
let date = new Date('2021-06-30T00:00:00.000Z');
8
9
console.log(date.subtractHours(2).toISOString());
Output:
xxxxxxxxxx
1
2021-06-29T22:00:00.000Z