Convertir le format"tickcount" en HH : MM : SS

Signaler
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010
-
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
-
bonjour,

je m'essaye à un domaine que je n'ai jamais vraiment utilisé jusqu'ici : le temps qui passe en .NET.
mon besoin : afficher dans un label le temps écoulé depuis l'allumage de mon PC
je commence juste avec le code suivant que j'ai mis dans un timer. deja je fais peut etre completement fausse route .. (??)
mon probleme : le format de temps affiché est inutilisable et je suis plus que nul dans les conversions !
pouvez m'aider à afficher le resultat en HH:MM:SS svp ?

merci d'avance

Dim date1 As New System.DateTime(My.Computer.Clock.TickCount)
Dim date2 As New System.DateTime
Dim temps As TimeSpan = date2.Subtract(date1)
Me.Label1.Text = temps.ToString

_____________
 (débutant inside)

10 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,

La question serait-elle finalement : comment convertir en heures, minutes et secondes un nombre de millisecondes ?
Si oui : par un seimple calcul arithmétique !
Nota : si c'est pour ignorer les millisecondes, on peut se demander pourquoi les calculer !
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

scuse moi mais comprend pas bien le "nota"

ma question c'est d'abord
est ce que je mis prend bien pour calculer le temps qui s'est écoule depuis que mon PC est allumé ?
ensuite, si oui, comment faire au plus simple pour l'afficher dans un format lisible type HH:MM:SS (qui défilent)

par exemple ya t'il plus simple que de passer par un resultat en milliseconde à convertir ?
si la réponse est non je n'est effectivement plus qu'a me lancer dans un "simple calcul arithmétique"...

_____________
 (débutant inside)
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Mon nota est pourtant clair : Mesurer une durée en millisecondes pour ne pas aller au delà d'une précision en secondes est abusif.
Il y a quand-même des manières plus simples de calculer une durée en secondes (les fonctions ne manquent pas pour ce faire)
pour afficher ensuite selon ton format (jj:mm:ss) : rien de plus simple ===>> il suffit d'ajouter à l'heure 00:00:00 le nombre de secondes de la durée ! (et ça, c'est élémentaire).
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut
A vérifier, mais il me semble que le TickCount renvoie le nombre de millisecondes écoulées depuis minuit, et pas depuis le démarrage de la session/machine.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

bonjour,

jmf0 :
effectivement je souhaiterai m'arreter à un resultat "jour : heure: minute : seconde" !
qu'il y est d'autres méthodes utilisables que le tickcount qui renvoie une réponse en milliseconde pour ça, ok,
mais c'est bien pour ça que je poste ici, pour qu'on m'aide à les connaitre si je mis prend mal avec mon exemple...
pas juste pour me faire rembarrer...

"les fonctions ne manquent pas pour ce faire" > super ! mais si je post dans la rubrique "débutant",
c'est pas sans raisons hein !

jack : effectivement c'est utilise de verifier ça ... google est mon ami...


_____________
 (débutant inside)
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Re...

Débutant en VB.Net, nous dis-tu ?
Mais... tu es mille fois plus avancé que moi, aloirs (je n'ai jamais développé sous VB.Net, que je ne connais pas du tout.
Tu viens ici pour connaître une fonction ? Et ton aide en ligne (MSDN) alors ? Elle sert à quoi selon toi ?
Y chercher est difficile ? Y compris avec le mot Time, Timer, etc... (ils ne te viennent pas sous le sens, non ?)
Tiens, l'ignorant complet en VB.Net que je suis, sait au moins trouver ta réponse (relevé d'une durée) en 2 coups de cuillère à pot :
http://www.vb-helper.com/howto_net_measure_elapsed_time.html
(parmi des centaines de liens de l'espèce)
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

on va pas faire un concours de celui qui a la plus grosse non plus ?
moi je n'ai jamais rien utilisé d'autre que le .NET depuis que je m'essaye à developper des petits trucs,
quand au MSDN j'avoue que c'est plutot google (ou ici...) que j'utilise en 1er.
sinon, t'as les vers ?

merci pour le lien.
_____________
 (débutant inside)
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
quand au MSDN j'avoue que c'est plutot google (ou ici...) que j'utilise en 1er.
sinon, t'as les vers ?


Ah !

Non, je n'ai pas les vers, non ...
Mais toi, ami, tu as les règles (de ce forum, à lire)
Messages postés
251
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
2 novembre 2010

Rebonjour à tous,

pour info si d'autres sont intéressés par la question ,

voici une solution finalement très simple (quand on la connait)
pour afficher dans un label le temps ecoulé depuis l'allumage du PC :

à coller dans un timer :

Dim HH As New TimeSpan(0, 0, 0, 0, Environment.TickCount)
Dim jours As String = HH.Days
Dim heures As String = HH.Hours
Dim minutes As String = HH.Minutes
Dim secondes As String = HH.Seconds
Me.Label1.Text = jours & " Jour(s) " & heures & " Heure(s) " & minutes & " min " & secondes & " sec"

salut !

_____________
 (débutant inside)
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
1
Bonjour Tyrell,

Tu as, parmis les méandres des classes .Net, une classe System.Environment qui possède une propriété TickCount qui pourrait éventuellement t'être utile. C'est un entier signé 32 bits contenant la durée écoulée en millisecondes depuis le dernier démarrage de l'ordinateur. Limitation due au type entier 32 bits, elle se ré-initialise au bout de 24,9 jours.

A voir --> La Classe System.Environment sur MSDN

A+