将天转换成年月和周-JavaScript

我们需要编写一个JavaScript函数,该函数接受一个数字(代表天数)并返回具有三个属性的对象,即-

weeks, months, years, days

这些属性应具有可以从天数得出的这四个属性的适当值。我们不应该在这里考虑leap年,而将所有年份都视为365天。

例如-

如果输入为738,则输出应为-

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

示例

让我们为该函数编写代码-

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));

输出结果

控制台中的输出:-

{ years: 2, months: 0, weeks: 1, days: 1 }