如何获得两个DateTime对象之间的天数差异?
private static string DaysAfterAYear(DateTime initialDate)
{
DateTime endDate = initialDate.AddYears(1);
endDate = endDate.AddMonths(1);
return ??
}
我需要区分initialDate和endDate。
答案 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。