比较两个DATE并在c#中获取Days

Muh*_*eeq 5 c#

计算comapaing两个日期的天数,当你想比较两个日期,如期限和图书馆的书的返还日期,那么你可以用这种方式得到没有天数

        int TotalDay;
        DateTime due = OldDate;

        int day = due.Day;
        int nday = DateTime.Now.Day;
        int mnt = due.Month;
        int nmnt = DateTime.Now.Month;
        int yr = due.Year;
        int nyr = DateTime.Now.Year;
        if (nyr <= yr)
        {
            if (nmnt <= mnt)
            {
                if (nday > day)
                {
                    TotalDay = nday - day;
                }
            }
            else
            {
                TotalDay = nday - day;
                m = nmnt - mnt;
                TotalDay = d + (m * 30);
            }
        }
        else
        {
            TotalDay = nday - day;
            m = nmnt - mnt;
            TotalDay  = d + (m * 30);
            int y = nyr - yr;
            TotalDay  = d + (y * 365);
        }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 14

使用TimeSpan

TimeSpan ts = dateTime1 - dateTime2;
Run Code Online (Sandbox Code Playgroud)

ts.TotalDays 会给你天数的差异.

在您的情况下due是截止日期,DateTime.Now是当前日期.你可以使用:

TimeSpan ts = DateTime.Now - due;

//or 

TimeSpan ts = DateTime.Now.Subtract(due);

int NumberOfDays = ts.TotalDays;
Run Code Online (Sandbox Code Playgroud)

您可以查看TimeSpan.TotalDays属性