忽略闰天的日期差异

时间:2016-10-06 14:39:20

标签: c# logic

请分享一些逻辑来查找两个日期之间的日期差异,这会忽略闰日,c#Subtract方法包括闰日。 例如。 for startDat = 26-02-2016 and endDate = 03-03-2016 我希望答案是5而不是6.同样的任何其他年份。

谢谢!

1 个答案:

答案 0 :(得分:0)

一种方法是:

public static int DayDiff(DateTime d1, DateTime d2)
{
    DateTime min, max;
    if(d1 < d2)
    {
        min = d1; max = d2;
    }
    else
    {
        min = d2; max = d1;
    }

    int nbOfDays = 0;
    while(max.Date != min.Date)
    {
        min = min.AddDays(1);
        if (min.Month != 2 || min.Day != 29) // Skip leap day
            nbOfDays++;
    }
    return nbOfDays;
}