2016-12-09 113 views
-1

編寫可計算給定年份的總天數的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次

+1

將其提取到一個變量,然後改變它。事實上,你似乎*已經有變量*,所以也許只是使用它? – jonrsharpe

回答

1

您可以使用簡單的天數閏年度算法:

在公曆中三個標準必須考慮到 識別閏年:年份可被4平分秋色;如果 年可以平均除以100,那不是閏年,除非; 年也可以被400整除。然後是閏年。

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

 
console.log(daysInYear(2016)); 
 

 
console.log(daysInYear(2017));

使用循環

如果它是用來教你循環,您可以使用for loop遍歷12個月,並計算總天數:

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

+0

它不顯示任何我的瀏覽器? – Dimitri

+0

我知道我可以在那裏運行..但我怎麼能運行它在我的HTML? – Dimitri

+0

好吧,我得到了它非常感謝@OriDrori – Dimitri