¿Cómo calcular la diferencia entre dos fechas (número de días)?

Resuelto leora asked hace 15 años • 17 respuestas

¿Cómo se puede calcular el número de días entre dos fechas en C#?

leora avatar Oct 22 '09 20:10 leora
Aceptado

Suponiendo StartDatey EndDateson de tipo DateTime:

(EndDate - StartDate).TotalDays
Greg Beech avatar Oct 22 '2009 13:10 Greg Beech

La respuesta principal es correcta; sin embargo, si desea solo días ENTEROS como int y está dispuesto a renunciar al componente de tiempo de la fecha, considere:

(EndDate.Date - StartDate.Date).Days

De nuevo asumiendo StartDatey EndDateson de tipo DateTime.

Darren avatar Aug 27 '2015 03:08 Darren

Utilice el objeto TimeSpan que es el resultado de la resta de fechas:

DateTime d1;
DateTime d2;
return (d1 - d2).TotalDays;
Vitaliy Liptchinsky avatar Oct 22 '2009 13:10 Vitaliy Liptchinsky

Creo que esto hará lo que quieras:

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);

TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
pyrocumulus avatar Oct 22 '2009 13:10 pyrocumulus