C# 获取两个不同DateTime对象之间的天数

C# 获取两个不同DateTime对象之间的天数,c#,datetime,C#,Datetime,如何获得两个DateTime对象之间的天数差 private static string DaysAfterAYear(DateTime initialDate) { DateTime endDate = initialDate.AddYears(1); endDate = endDate.AddMonths(1); return ?? } 我需要获得initialDate和endDate之间的差值。使用减法: static void Main(string[] arg

如何获得两个DateTime对象之间的天数差

private static string DaysAfterAYear(DateTime initialDate)
{
    DateTime endDate = initialDate.AddYears(1);
    endDate = endDate.AddMonths(1);
    return ??
}

我需要获得initialDate和endDate之间的差值。

使用减法:

static void Main(string[] args)
{
    DateTime begin = DateTime.Now;
    DateTime end = begin.AddYears(1).AddMonths(1);
    var result = end.Subtract(begin).TotalDays;
}
在本例中,您可以使用span.Days或span.TotalDays,但是必须非常小心使用TimeSpan属性。例如,如果你看一下TotalHours和Hours,你会发现它们是不一样的


Hours属性是days属性被删除后剩余的小时数(在本例中为零),总小时数是以小时表示的时间跨度。

减去DateTimes将得到时间跨度:

var elapsedDays = (endDate - initialDate).TotalDays;
DateTime dt1 = new DateTime(2011,01,01);
DateTime dt2 = new DateTime(2011,01,20);
int ireturn = (int)dt2.Subtract(dt1).TotalDays;
        int days = 10;
        DateTime initialDate = DateTime.Now;
        DateTime endDate = DateTime.Now.AddDays(days);
        TimeSpan duration = endDate.Subtract(initialDate);
var elapsedDays = (endDate - initialDate).TotalDays;