Languages
[Edit]
EN

JavaScript - subtract hours from date

0 points
Created by:
p_agon
589

In this article, we would like to show you how to subtract hours from date in JavaScript.

Quick solution:

// ONLINE-RUNNER:browser;

const date = new Date('2021-06-30T00:00:00.000Z');

date.setHours(date.getHours() - 2);   // subtracted 2 hours from existing date

console.log(date.toISOString());      // 2021-06-29T22: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 seconds,
  • hours - a number of hours we want to subtract.

Runnable example:

// ONLINE-RUNNER:browser;

const subtractHours = (date, hours) => {
  const result = new Date(date);
  result.setHours(result.getHours() - hours);
  return result;
};

const date = new Date('2021-06-30T00:00:00.000Z');

console.log(subtractHours(date, 2).toISOString());

Output:

2021-06-29T22:00:00.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.subtractHours = function (hours) {
  let date = new Date(this.valueOf());
  date.setHours(date.getHours() - hours);
  return date;
};

let date = new Date('2021-06-30T00:00:00.000Z');

console.log(date.subtractHours(2).toISOString());

Output: 

2021-06-29T22:00:00.000Z
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

Cross technology - subtract hours from date

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join