Change getSeconds() to 2 digit format in JavaScript


Borislav Hadzhiev

Last updated: Oct 23, 2021


Check out my new book

Change getSeconds() to 2 digit format in JavaScript #

To change the getSeconds() method to 2 digit format:

  1. Convert the result from calling getSeconds() 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.
const date = new Date('March 14, 2025 05:24:07'); const seconds = String(date.getSeconds()).padStart(2, '0'); console.log(seconds); // 👉️ 07

The padStart method has to be used on a string, so the first step is to convert the number of seconds 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 seconds should always have a length of 2, so that's what we set as a target length.

If the seconds already have 2 digits, the padStart method would not add an additional leading zero because we've set the target length to 2.
const date = new Date('March 14, 2025 13:24:22'); const seconds = String(date.getSeconds()).padStart(2, '0'); console.log(seconds); // 👉️ 22

The seconds were set to 22 (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 getSeconds() method to a 2 digit format, check if the seconds are less than or equal to 9, if they are, add a leading zero to the seconds using the addition (+) operator, if they aren't there is no need to add a leading zero.

const date = new Date('September 24, 2025 05:24:06'); let seconds = date.getSeconds(); seconds = seconds <= 9 ? '0' + seconds : seconds; console.log(seconds); // 👉️ 06

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

If the seconds are 9 or less, we add a leading zero, otherwise we return the seconds as is.

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

Further Reading #

Use the search field on my Home Page to filter through my more than 3,000 articles.