Conversion Hh Mm Ss texte en DateTime

cs_softice Messages postés 2 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 12 février 2006 - 12 févr. 2006 à 14:46
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 12 févr. 2006 à 22:54
Bonjour à tous et toutes.

Je suis fidèle lecteur depuis longtemps du forum et je n'ai jamais eut besoin de poster, j'ai toujours tout trouvé.
Mais aujourd'hui je cale, même après avoit parcouru les topics du forum.

Voilà, d'un fichier .log je récupère des durées de temps. Ces temps sont variables : ex : "1S" ou "2H 15M 19S" , ou encore "23M 45S". Il n'y a pas de "0H 0M 40S", mais "40S" . Je désire entrer ces temps dans une DB pour des stats ( ce sont en fait des durées de Backups de nuit ).

Comment récuperer ces durées ( qui sont des string au départ ) et les mettre dans une variable DateTime vu les exemples cités plus haut ?

Petite info :

J'ai bien réussi à transformer en texte "XX:XX:XX" avec Replace("H",":" ..... "M",":" ....... ) : ca marche bien même si je n'ai pas d'H ni de M mais lorsque je veut le convertir en DateTime cela génère invariablement une erreure "format non reconnu"

Je cogite mais je tourne en rond maintenant.

Christophe, Belgique.

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
12 févr. 2006 à 15:52
Salut,

Tu travailles en .Net 1.1 ou 2.0 ?

/*
coq
MVP Visual C#
*/
0
cs_softice Messages postés 2 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 12 février 2006
12 févr. 2006 à 18:27
Je suis sous XPSP2, VS 2005, .net 2.0.
En fait je vient de terminer le découpage des chaînes, ca tourne sans faille.
Je me retrouve donc maintenant avec 3 var HH,MM,SS correctement remplies quelque soit la situation. (avec Substring ( position, longueur ).

Mais alors comment utiliser mes 3 var pour en faire une durée en hhmmss?
J'ai pensé utiliser " DateTime mavariable = DateTilme.addHours(HH)" mais ca donne rien. Toujours à Zero.

Je travaille très rarement avec les date et temps.

Christophe
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
12 févr. 2006 à 18:36
Euh, si tu travailles sur des durées et non des dates, il vaut mieux utiliser TimeSpan.

/*
coq
MVP Visual C#
*/
0
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
12 févr. 2006 à 20:05
slt une solution ... si tu arrive bien a faire une chaine avec les differentes valeurs hh:mm:ss


DateTime maDate;


maDate.Minute =system.convert.toint32(mm);


maDate.Hour = system.convert.toint32(hh);


maDate.Second = system.convert.toint32(ss);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
12 févr. 2006 à 22:54
Hour, Minute et Second sont en lecture seule...

Et pour manipuler des durées l'utilisation du DateTime (qui représente un instant) est plutôt hasardeuse.

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous