J'ai deux calendriers et chacun renvoie un DateTime de calendar.SelectedDate.
Comment puis-je soustraire les deux dates sélectionnées l'une de l'autre, en me donnant le nombre de jours entre les deux sélections?
Il y a un calendar.Subtract () mais il a besoin d'un TimeSpan au lieu de DateTime.
Vous pouvez utiliser someDateTime.Subtract(otherDateTime)
, cela retourne un TimeSpan
qui a une propriété TotalDays
.
Utilisez simplement:
TimeSpan difference = end - start;
double days = difference.TotalDays;
Notez que si vous voulez les traiter comme dates vous devriez probablement utiliser
TimeSpan difference = end.Date - start.Date;
int days = (int) difference.TotalDays;
De cette façon, vous n'obtiendrez pas de résultats différents selon les temps.
(Vous pouvez utiliser la méthode Subtract
au lieu de -
opérateur si vous voulez, mais personnellement je trouve plus clair d'utiliser l'opérateur.)
.DateTime dtToday = new System.DateTime(2012, 6, 2, 0, 0, 0);
DateTime dtMonthBefore = new System.DateTime(2012, 5, 2, 0, 0, 0);
TimeSpan diffResult = dtToday.Subtract(dtMonthBefore);
Console.WriteLine(diffResult.TotalDays);