Change getDate to 2 digits in JavaScript

avatar

Borislav Hadzhiev

Sat Oct 23 20212 min read

banner

Photo by Grant Ritchie

Change getDate to 2 digits in JavaScript #

To change the getDate() method to 2 digits:

  1. Convert the result from calling getDate() to a string.
  2. Use the padStart() method to add a leading zero if it's necessary.
  3. The padStart method allows us to add a leading zero to the start of the string until it reaches a specified target length.
index.js
const date = new Date('April 04, 2025 05:24:07'); const day = String(date.getDate()).padStart(2, '0'); console.log(day); // ๐Ÿ‘‰๏ธ 04

The padStart method has to be used on a string, so the first step is to convert the day of the month to a string.

We passed the following 2 parameters to the padStart method:

  1. target length - the length of the string the padStart method should return, once it has been padded.
  2. pad string - the string we want to pad our existing string with, in our case - 0.

We know that the days should always have a length of 2, so that's what we set as a target length.

If the days already have 2 digits, the padStart method would not add an additional leading zero, because we've set the target length to 2.
index.js
const date = new Date('March 24, 2025 12:24:22'); const day = String(date.getDate()).padStart(2, '0'); console.log(day); // ๐Ÿ‘‰๏ธ 24

The day of the month is 24 (2 digits), so the padStart method didn't add a leading zero.

The padStart method is not supported in Internet Explorer. If you have to support the browser, use the next approach covered in this article.

To change the getDate() method to 2 digits, check if the day of the month returns 9 or less, if so, add a leading zero to the day using the addition (+) operator.

index.js
const date = new Date('April 07, 2025 10:24:06'); let day = date.getDate(); day = day <= 9 ? '0' + day : day; console.log(day); // ๐Ÿ‘‰๏ธ 07

We used a ternary operator, which is very similar to an if/else statement.

If the day of the month is 9 or less, we add a leading zero, otherwise we return the day.

Either approach works just fine, if you have to support Internet Explorer, pick the second one.

Further Reading #

Join my newsletter

I'll send you 1 email a week with links to all of the articles I've written that week

Buy Me A Coffee