2010-08-16 8 views
1

Nous voulons trouver le nombre de jours entre deux dates. C'est simple quand les dates sont dans la même année.Quel est le nombre de jours entre deux dates?

Y a-t-il une façon intégrée de faire cela si les dates sont dans des années différentes, ou devons-nous simplement faire une boucle chaque année?

Répondre

13

La soustraction d'une date d'une autre donne TimeSpan. Vous pouvez l'utiliser pour déterminer le nombre de jours entiers à l'aide de la propriété Days ou de jours entiers et fractionnaires à l'aide de la propriété TotalDays.

DateTime start = ...; 
DateTime end = ...; 

int wholeDays = (end - start).Days; 

ou

double totalAndPartialDays = (end - start).TotalDays; 
+0

+1 pour mentionner 'TotalDays'. – Abel

+0

@Adam Robinson, merci d'expliquer les dates de soustraction donne un TimeSpan. – JM1

3

vous pouvez probablement faire quelque chose comme:

TimeSpan ts = endDate - startDate; 
ts.Days 
1

Qu'est-ce qui vous manque?

DateTime - DateTime => Timespan 

et Timespan a Days et TotalDays propriétés.

0
DateTime date1 = DateTime.Now; 
    DateTime date2 = new DateTime(date1.Year - 2, date1.Month, date1.Day); 

    Int32 difference = date1.Subtract(date2).Days; 
Questions connexes