Есть ли лучший способ рассчитать число високосных лет между двумя годами. Предполагая, что у меня есть дата начала и дата окончания.
У меня есть код, но я думаю, что должен быть более элегантный способ.
код вызова:
var numberOfLeapYears = NumberOfLeapYears(startDate.Year + 1, endDate.Year - 1);
:
private static int NumberOfLeapYears(int startYear, int endYear)
{
var counter = 0;
for (var year = startYear; year <= endYear; year++)
counter += DateTime.IsLeapYear(year) ? 1 : 0;
return counter;
}
Итак, если у меня есть startDate = "10/16/2006" и endDate = "4/18/2004", я должен получить только 1 високосный год (2000). Другие слова startDate Year и endDate year не должны вычисляться, только между годами.
Заранее благодарим за помощь.