Bonjour à tous,
Je rencontre des problèmes au cours d'un développement :
Le principe étant de récupérer au sein d'un fichier des paramètres me permettant de construire une date d’échéance et de vérifier si elle correspond à la date courante (toutes les minutes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 DateTime dateNow = DateTime.Now; DateTime now = dateNow.Subtract(new TimeSpan(0,0,0,0,dateNow.Millisecond)); _log.Debug("La date courante est \"" + now.ToString() + "." + now.Millisecond.ToString() + "\" ( " + System.Threading.Thread.CurrentThread.CurrentCulture.ToString() + " )"); [...] DateTime startforecast = DateTime.ParseExact(date + " " + entr[(int)ForecastFileFields["start"]].ToString(), "g", new CultureInfo("fr-FR")); DateTime stopforecast = DateTime.ParseExact(date + " " + entr[(int)ForecastFileFields["stop"]].ToString(), "g", new CultureInfo("fr-FR")); _log.Debug("La date de début est \"" + startforecast.ToString() + "." + startforecast.Millisecond.ToString() + "\" : correspondance " + (now.CompareTo(startforecast) == 0 ? "vérifiée" : "non valide") ); _log.Debug("La date de fin est \"" + stopforecast.ToString() + "." + stopforecast.Millisecond.ToString() + "\" : correspondance " + (now.CompareTo(stopforecast) == 0 ? "vérifiée" : "non valide"));
Cependant le fichier de logs montre les résultats suivants :
2010-10-29 16:53:00,095 [5172] DEBUG : La date courante est "29/10/2010 16:53:00.0" ( fr-FR )
[...]
2010-10-29 16:53:00,110 [5172] DEBUG : La date de début est "29/10/2010 14:30:00.0" : correspondance non valide
2010-10-29 16:53:00,110 [5172] DEBUG : La date de fin est "29/10/2010 16:53:00.0" : correspondance non valide
Je ne comprend pas pourquoi le CompareTo(DateTime) me retourne une valeur différente de 0 sachant que les deux DateTime comparées sont identiques.
Par ailleurs j'ai rencontré ce problème dès lors que j'ai utilisé un DateTime.ParseExact() au lieu d'un DateTime.Parse()... j'ai cependant besoin du ParseExact() au sein de mon programme !
Quelqu'un aurait-il une solution ?
Merci par avance !![]()
Partager