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

时间:2011-01-21 00:45:54

标签: c# datetime

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

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

我需要区分initialDate和endDate。

5 个答案:

答案 0 :(得分:11)

使用减法方法:

static void Main(string[] args)
{
    DateTime begin = DateTime.Now;
    DateTime end = begin.AddYears(1).AddMonths(1);
    var result = end.Subtract(begin).TotalDays;
}

答案 1 :(得分:3)

DateTime dt1 = new DateTime(2011,01,01);
DateTime dt2 = new DateTime(2011,01,20);
int ireturn = (int)dt2.Subtract(dt1).TotalDays;

答案 2 :(得分:2)

减去DateTimes将产生TimeSpan:

var elapsedDays = (endDate - initialDate).TotalDays;

答案 3 :(得分:1)

DateTime start = DateTime.Now;
DateTime end = DateTime.Now.AddDays(5);
TimeSpan span = end.Subtract(start);
return span.Days;

答案 4 :(得分:1)

        int days = 10;
        DateTime initialDate = DateTime.Now;
        DateTime endDate = DateTime.Now.AddDays(days);
        TimeSpan duration = endDate.Subtract(initialDate);

在此示例中,您可以使用span.Days或span.TotalDays,但是您必须非常小心TimeSpan属性。例如,如果你看一下TotalHours vs Hours,你会发现它们不一样。

小时属性是天数被取消后剩余的小时数(在这种情况下为零),总小时数是以小时为单位的TimeSpan。