Add Days to a Date in JavaScript or Node.js

Working with dates in an application typically involves some kind of „shortcuts“. Like, such as adding a given number of days to a date. Adding days to a date could mean postponing a to-do item.

This tutorial shows you how to add days to a date in JavaScript.

Node.js Series Overview

Add Days to a Date in JavaScript

JavaScript has a handful of methods to set a unit, like days, months, or years. The method allowing you to customize the days of a date is setDate.

Here’s a sample function adding a given number of days to an optional date. Please notice, that the date defaults to „now“ if you don’t provide a second argument when calling the addDays function:

/**
 * Returns a date instance with added `days`.
 *
 * @param {Number} days - the number of days to add
 * @param {Date} date - the date adding the given `days`
 *
 * @returns {Date}
 */
function addDays (days, date = new Date()) {  
  date.setDate(date.getDate() + days)

  return date
}

Also, a nice part of JavaScript’s setDate function is the automatic handling of the month and year changes. For example, when adding a day to August 31st you’re receiving September 1st. Fantastic!

addDays(2)  
// 2022-06-28T14:40:56.627Z
// the optional second "date" instance parameter falls back to "now"
// at the time of writing this tutorial "now" is "2022-06-26"

addDays(1, new Date('2022-08-31'))  
// 2022-09-01T00:00:00.000Z

Enjoy adding days to dates!

Explore the Library

Find interesting tutorials and solutions for your problems.