JavaScript Basics

JavaScript Advanced

JavaScript Arrays

JavaScript Functions

JavaScript Objects

JavaScript DOM

JavaScript String

How to convert day of year to Date in JavaScript?

To convert the day of the year to date, you must follow the following steps:

  1. First, you have to create a Date object by calling the Date() constructor.
  2. You have to pass three arguments to the Date() constructor. The first argument is the year, the second argument must be 0 for the month, and the last argument is the day of the year.
  3. The Date() constructor will return the date on that particular day of the year.
let date = new Date(2022, 0, 27);
console.log(date); //Thu Jan 27 2022

date = new Date(2022, 0, 100);
console.log(date); //Sun Apr 10 2022

date = new Date(2022, 0, 151);
console.log(date); //Tue May 31 2022

Note: JavaScript provides the Date class for working with dates and times.

It is important to note that the Date() constructor used in the code accepts three parameters:

  1. The first parameter is the year.
  2. The Date class follows the zero-based value of the month. So, instead of 1 for January, you have to pass 0 for January, 1 for February, and so on. Here, to convert the day of the year to date, you have to use 0; otherwise, you won't get the correct result.
  3. The third parameter is the day.

You might be confused as to why the value of the month parameter is 0 in the Date() constructor. The reason is that the Date class automatically changes the month as per the value of the day passed to it. For example, suppose you have passed 40 as the day, 0 as the month, and 2022 as the year to the Date() constructor.

let date = new Date(2022, 0, 40);
console.log(date); //Wed Feb 09 2022

As you can see, the Date class has changed the month from January to February because there are 31 days in January, and to represent the 40th day of the year, it has to change the month to February.

Recommended Posts