计算一年中的总天数

时间:2016-12-09 21:12:10

标签: javascript html

编写javascript函数,计算给定年份的总天数。

function daysInMonth(month, year) {
  return new Date(year, month, 0).getDate();
}

var jan = daysInMonth(1, 2016);
var feb = daysInMonth(2, 2016);
var maa = daysInMonth(3, 2016);
var apr = daysInMonth(4, 2016);
var mei = daysInMonth(5, 2016);
var jul = daysInMonth(6, 2016);
var jun = daysInMonth(7, 2016);
var aug = daysInMonth(8, 2016);
var sep = daysInMonth(9, 2016);
var okt = daysInMonth(10, 2016);
var nov = daysInMonth(11, 2016);
var dec = daysInMonth(12, 2016);
var dagen = jan + feb + maa + apr + mei + jul + jun + aug + sep + okt + nov + dec;

document.write('<br> Aantal dagen van jaar 2016 zijn : ' + dagen);

但我想改变一年,到2017年,但我不想这样做12次..我怎么能一次性做到这一点

1 个答案:

答案 0 :(得分:1)

您可以使用简单的闰年算法找到天数:

  

在公历中,必须考虑三个标准   确定闰年:年份可以平均除以4;如果是这一年   可以平均除以100,它不是闰年,除非;那一年   也可以被400整除。然后是闰年。

&#13;
&#13;
function daysInYear(year) {
    return ((year % 4 === 0 && year % 100 > 0) || year %400 == 0) ? 366 : 365;
}

console.log(daysInYear(2016));

console.log(daysInYear(2017));
&#13;
&#13;
&#13;

使用循环

如果它用于教你循环,你可以使用for loop迭代12个月,并计算总天数:

&#13;
&#13;
function daysInMonth(month, year) {
  return new Date(year, month, 0).getDate();
}

function daysInYear(year) {
  var days = 0;
  
  for(var month = 1; month <= 12; month++) {
    days += daysInMonth(month, year);
  }
  
  return days;
}

console.log('2016: ', daysInYear(2016));
console.log('2017: ', daysInYear(2017));
&#13;
&#13;
&#13;