Convertir DateTime en Double c#
Résolu/Fermé
lookers
Messages postés
69
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
17 juillet 2017
-
12 juil. 2017 à 12:39
Utilisateur anonyme - 17 juil. 2017 à 22:15
Utilisateur anonyme - 17 juil. 2017 à 22:15
A voir également:
- Datetime to double c#
- Double ecran - Guide
- Whatsapp double sim - Guide
- Qwerty to azerty - Guide
- Double appel - Guide
- Double authentification google - Guide
3 réponses
Utilisateur anonyme
Modifié le 17 juil. 2017 à 18:53
Modifié le 17 juil. 2017 à 18:53
ça déjà
ça n'est pas possible, il ne peut pas y avoir 2 variables avec le même nom, de 2 types différents sur la même ligne. En même dans la même portée. Je ne comprends même pas que Visual Studio t'es laissé exécuter ce code.
Et puis un richTextBox, pour afficher juste une date, c'est un peu riche... Un textBox suffit largement.
Ensuite quand tu arrives là
Après avoir corrigé le reste, si tu arrives là
joursRests, c'est pas des jours. C'est une durée, soit des jours, des heures, des minutes et des secondes, et même si tes "dates" sont justes des dates, sans heures, minutes secondes, et bien joursRests sera n jours, 0 heure, 0 minutes et 0 secondes.
Enfin
Donc en gros ton code devrait ressembler à ça
J'ai changé les noms des variables de façon à être explicite. Tu verras, quand tu reprendras ton programme dans un an, se sera plus facile de t'y repencher avec des noms clairs plutôt que date1, date1, textbox1, textbox2, etc....
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
TextReader date1 = new StreamReader (date1.txt);
ça n'est pas possible, il ne peut pas y avoir 2 variables avec le même nom, de 2 types différents sur la même ligne. En même dans la même portée. Je ne comprends même pas que Visual Studio t'es laissé exécuter ce code.
Et puis un richTextBox, pour afficher juste une date, c'est un peu riche... Un textBox suffit largement.
Ensuite quand tu arrives là
DateTime dateDifference1 = DateTime.Parse(date1);date1 n'est forcément pas représentatif d'une date, c'est soit un TextReader, fermé de surcroit, soit un truc représentant probablement le chemin d'un fichier.
Après avoir corrigé le reste, si tu arrives là
TimeSpan joursRests = dateDifference2 - dateDifference1;
joursRests, c'est pas des jours. C'est une durée, soit des jours, des heures, des minutes et des secondes, et même si tes "dates" sont justes des dates, sans heures, minutes secondes, et bien joursRests sera n jours, 0 heure, 0 minutes et 0 secondes.
Enfin
joursRests <= 0n'est pas possible, soit tu extrais du TimeSpan le nombre de jours qu'il représente, à l'aide de sa propriété TotalDays, soit tu le compare avec un TimeSpan de durée 0
joursRests <= TimeSpan.FromHours(0). Mais le plus simple reste de comparer directement les dates.
Donc en gros ton code devrait ressembler à ça
string cheminDebut = "";//mets ici le chemin du 1er fichier string cheminFin = "";//mets ici le chemin du 2eme fichier DateTime debut = DateTime.Parse(File.ReadAllText(cheminDebut));//lit le fichier et en fait une date DateTime fin = DateTime.Parse(File.ReadAllText(cheminFin)); tbxDebut.Text = debut.ToShortDateString();//Affiche la date dans le TextBoX (tbx) du Debut tbxFin.Text = fin.ToShortDateString(); If (debut >= fin) { Message.Box.Show (Warnning !!!!!); }
J'ai changé les noms des variables de façon à être explicite. Tu verras, quand tu reprendras ton programme dans un an, se sera plus facile de t'y repencher avec des noms clairs plutôt que date1, date1, textbox1, textbox2, etc....
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Utilisateur anonyme
Modifié le 15 juil. 2017 à 10:30
Modifié le 15 juil. 2017 à 10:30
Bonjour
Sans voir ton code, impossible de savoir ce qui se passe.
Voir ici comment poster un code lisible.
Mais un truc est certain, une RichTextbox ne peut pas être du type DateTime comme tu le dis. C'est du type RichTextBox. Et pour le TimeSpna c'est pareil.
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Sans voir ton code, impossible de savoir ce qui se passe.
Voir ici comment poster un code lisible.
Mais un truc est certain, une RichTextbox ne peut pas être du type DateTime comme tu le dis. C'est du type RichTextBox. Et pour le TimeSpna c'est pareil.
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
lookers
Messages postés
69
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
17 juillet 2017
Modifié le 17 juil. 2017 à 18:29
Modifié le 17 juil. 2017 à 18:29
TextReader date1 = new StreamReader (date1.txt); richTextBox1.Text = date1.ReadToEnd(); date1.Close(); TextReader date2 = new StreamReader (date2.txt); richTextBox2.Text = date2.ReadToEnd(); date2.Close(); DateTime dateDifference1 = DateTime.Parse(date1); DateTime dateDifferenec2 = DateTime.Parse(date2); TimeSpan joursRests = dateDifference2 - dateDifference1; If (joursRests <= 0) { Message.Box.Show (Warnning !!!!!);
lookers
Messages postés
69
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
17 juillet 2017
Modifié le 17 juil. 2017 à 18:30
Modifié le 17 juil. 2017 à 18:30
Bonjour Whismeril, merci de repondre.
En fait les 2 richTextBox lisent les date depuis des fuchier text (string)
En fait les 2 richTextBox lisent les date depuis des fuchier text (string)
TextReader date1 = new StreamReader (date1.txt); richTextBox1.Text = date1.ReadToEnd(); date1.Close(); TextReader date2 = new StreamReader (date2.txt); richTextBox2.Text = date2.ReadToEnd(); date2.Close(); DateTime dateDifference1 = DateTime.Parse(date1); DateTime dateDifferenec2 = DateTime.Parse(date2); TimeSpan joursRests = dateDifference2 - dateDifference1; If (joursRests <= 0) { Message.Box.Show (Warnning !!!!!); }
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 17 juil. 2017 à 18:46
Modifié le 17 juil. 2017 à 18:46
Bonjour,
Remplace juste la ligne
Xavier
Remplace juste la ligne
if (joursRests <= 0)par
if (joursRests.Ticks <= 0). En effet, un TimeSpan ne peut pas être directement comparé à un entier (À la limite en comparant à 0 on comprend, nous humains, le sens, mais imagine joursRests <= 1 ? Ça veut dire quoi ? Un jour, une seconde ?)
Xavier
lookers
Messages postés
69
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
17 juillet 2017
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
17 juil. 2017 à 21:28
17 juil. 2017 à 21:28
Merci bcp
17 juil. 2017 à 21:28
17 juil. 2017 à 22:15