¿Cómo calcular la diferencia entre dos fechas (número de días)?
¿Cómo se puede calcular el número de días entre dos fechas en C#?
Aceptado
Suponiendo StartDate
y EndDate
son de tipo DateTime
:
(EndDate - StartDate).TotalDays
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 StartDate
y EndDate
son de tipo DateTime
.
Utilice el objeto TimeSpan que es el resultado de la resta de fechas:
DateTime d1;
DateTime d2;
return (d1 - d2).TotalDays;
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;