2016-12-09 3 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

Вы можете найти число дней с помощью простого високосный год algorithem:

в григорианском календаре три критерий должен быть принят во внимание, чтобы определить високосные года: год может быть равномерно разделен на 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

Смежные вопросы