Faire la difference entre deux dates ou heures en c#

Signaler
Messages postés
75
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
6 août 2007
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
J'ai deux dateTime qui contient le jour ainsi que l'heure ,je veux faire la difference pour trouver le nombre d'heure qui existe mais je n'arrive pas par exemple j'ai Mon premier DateTime qui contient 12/03/2006 12:37 et le second 12/03/2006 3:37
 mais ca devrait donner 3:00 h ca me donne9:00
Voici ce que j'ai fait
TimeSpan h=

new TimeSpan(d2.Ticks-d1.Ticks).Duration();MessageBox.Show(h.ToString());

FD

3 réponses

Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
11
Salut
Moi j'ai fais un truc comme ça:

DateTime ancien;
DateTime now = DateTime.Now;
TimeSpan interval = new TimeSpan();
interval = interval.Add(TimeSpan.FromDays((double)ancien.DayOfYear - now.DayOfYear));
interval = interval.Add(TimeSpan.FromHours((double)ancien.Hour - now.Hour));
interval = interval.Add(TimeSpan.FromMinutes((double)ancien.Minute - now.Minute));
interval = interval.Add(TimeSpan.FromSeconds((double)ancien.Second - now.Second));

Ensuite pour récupérer la diff en forme lisible : il y a les éléments Days, Hours ...

A++
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Tu peux faire comme ceci :

double x =
DateTime.Now.Subtract(
new
DateTime(2006, 6, 16, 17, 0, 0)).TotalHours;

int xx       =
DateTime.Now.Subtract(
new
DateTime(2006, 6, 16, 17, 0, 0)).Hours;

VC# forever
=13319
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Sinon, c'est normal que ça te donne 9h car 12-3 ça fait 9...
3h est différent de 15h !!!! (en tout cas en Europe)

VC# forever
=13319