【问题标题】:What is the number of days between two dates? [duplicate]两个日期之间的天数是多少? [复制]
【发布时间】:2011-03-30 10:08:12
【问题描述】:

我们想找出两个日期之间的天数。当日期在同一年时,这很简单。

如果日期在不同年份,是否有内置方法可以做到这一点,还是我们只需每年循环一次?

【问题讨论】:

    标签: c# datetime


    【解决方案1】:

    从另一个日期中减去一个日期会产生一个TimeSpan。您可以使用 Days 属性确定整数天数,或使用 TotalDays 属性确定整数天数和小数天数。

    DateTime start = ...;
    DateTime end = ...;
    
    int wholeDays = (end - start).Days;
    

    double totalAndPartialDays = (end - start).TotalDays;
    

    【讨论】:

    • +1 用于提及TotalDays
    • @Adam Robinson,感谢您解释减去日期会产生 TimeSpan。
    【解决方案2】:

    你可能可以这样做:

    TimeSpan ts = endDate - startDate;
    ts.Days
    

    【讨论】:

      【解决方案3】:

      你错过了什么?

      DateTime - DateTime => Timespan
      

      并且Timespan 具有DaysTotalDays 属性。

      【讨论】:

        【解决方案4】:
            DateTime date1 = DateTime.Now;
            DateTime date2 = new DateTime(date1.Year - 2, date1.Month, date1.Day);
        
            Int32 difference = date1.Subtract(date2).Days;
        

        【讨论】:

          猜你喜欢
          • 2012-01-05
          • 2012-07-31
          • 1970-01-01
          • 1970-01-01
          • 2011-02-07
          相关资源
          最近更新 更多