How to get tomorrow's date in JavaScript

If you want to get tomorrow’s date in JavaScript, you can create a Date object and manipulate it to reflect the next day. We’ll go into more detail on how to do that below.

What is the Date object in JavaScript?

The JavaScript Date object is a built-in object that stores the date and time. It can be initialized to the current date and time by calling its constructor without any arguments:

let currentDate = new Date();

How to increment the date

To get tomorrow's date, you need to add one day to the current date. You’ll do this by getting the day of the month from the current date and increasing it by one:

let tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1);

This code automatically adjusts the month and year if tomorrow falls into the next month or year.

How to handle time zones

When working with dates, time zones can affect the result. JavaScript Date objects are based on the user's local time zone by default. If you need to work in UTC, you can use the corresponding UTC methods:

let tomorrow = new Date(); tomorrow.setUTCDate(tomorrow.getUTCDate() + 1);

This will give you tomorrow's date in UTC.

How to reformat the date

Once you have tomorrow's date, you might want to format it. You can use the toLocaleDateString method for a locale-aware format:

let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; console.log(tomorrow.toLocaleDateString('en-US', options));

Or use toISOString for an ISO 8601 format:

console.log(tomorrow.toISOString().substring(0, 10));

How to deal with daylight savings time

Daylight saving time can cause issues when calculating dates. To avoid this, you can set the time to noon before adding a day, as this will prevent the time from shifting due to the change in daylight saving time:

let tomorrow = new Date(); tomorrow.setHours(12, 0, 0, 0); tomorrow.setDate(tomorrow.getDate() + 1);

Create a reusable function

For better reusability, encapsulate the logic into a function:

function getTomorrowsDate() { let tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); return tomorrow; } console.log(getTomorrowsDate());

Use libraries for complex operations

If your application requires complex date manipulations, you might want to use a library like date-fns or Moment.js. Here's how you would get tomorrow's date with Moment.js:

const moment = require('moment'); let tomorrow = moment().add(1, 'days');

Libraries make it easy to do date manipulation and are usually better at handling edge cases. Native JavaScript is usually faster, though, so use the native Date methods unless you need the more sophisticated operations that libraries provide.

Invite only

We're building the next generation of data visualization.