通过比较两个日期来计算天数,当您想要比较两个日期(例如到期日期)和图书馆中书籍的归还日期时,可以通过这种方式获得天数

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

最佳答案

使用TimeSpan

TimeSpan ts = dateTime1 - dateTime2;
ts.TotalDays将为您提供天数差异。

在您的情况下,due是截止日期,DateTime.Now是当前日期。您可以使用:
TimeSpan ts = DateTime.Now - due;

//or

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

int NumberOfDays = ts.TotalDays;

您可能会看到TimeSpan.TotalDays属性

10-04 17:29