Convert Days into Years, Months, and Weeks in JavaScript



We are required to write a JavaScript function that takes in a number (representing the number of days) and returns an object with three properties, namely −

weeks, months, years, days

And the properties should have proper values of these four properties that can be made from the number of days. We should not consider leap years here and consider all years to have 365 days.

For example −

If the input is 738, then the output should be −

const output = {
   years: 2,
   months: 0,
   weeks: 1,
   days: 1
}

Example

Let’s write the code for this function −

const days = 738;
const calculateTimimg = d => {
   let months = 0, years = 0, days = 0, weeks = 0;
   while(d){
      if(d >= 365){
         years++;
         d -= 365;
      }else if(d >= 30){
         months++;
         d -= 30;
      }else if(d >= 7){
         weeks++;
         d -= 7;
      }else{
         days++;
         d--;
      }
   };
   return {
      years, months, weeks, days
   };
};
console.log(calculateTimimg(days));

Output

The output in the console: −

{ years: 2, months: 0, weeks: 1, days: 1 }
Updated on: 2020-09-15T09:42:20+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements