Les Snippets

Connexion

Convertir un nombre de millisecondes en Heures, Minutes, Secondes par API

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/04/2006 12:57:05 et initié par Gobillot [Liste]
Date de mise à jour : 30/11/2007 08:46:11
Vue : 30630
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- VB6
- Delphi 5
- VB6
- VB 2005, VB 2008



Langage : VB6
Date ajout : 01/04/2006
Posté par Gobillot [Liste]
DateMAJ : 01/04/2006
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function StrFromTimeInterval Lib "shlwapi" Alias "StrFromTimeIntervalA" (ByVal pszOut As String, ByVal cchMax As Long, ByVal dwTimeMS As Long, ByVal dwDigits As Long) As Long
 
' Fonction pour transformer un nombre en Heures, Minutes, Secondes
' lTime est en milliseconds
' lDigits est optionnel
'   3 -> heures
'   5 -> heures & minutes
'   7 -> heures & minutes & secondes
Private Function GetFormattedTime(ByVal lTime As Long, Optional lDigits As Long = 7) As String
   Dim StrOut As String
   StrOut = Space(64)
   Call StrFromTimeInterval(StrOut, Len(StrOut) - 1, lTime, lDigits)
   GetFormattedTime = Trim(StrOut)
End Function

'  exemple d'utilisation:
   MsgBox "Your computer works: " & GetFormattedTime(GetTickCount)

Langage : Delphi 5
Date ajout : 05/08/2006
Posté par f0xi [Liste]
function TickToLisibleTime(const Tick : cardinal) : string;
var H,N,S,Z : word;
begin
  Z := Tick mod 1000;
  S := (Tick div 1000) mod 60;
  N := (Tick div 60000) mod 60;
  H := (Tick div 3600000);
  result := format('%.2d:%.2d:%.2d.%.3d',[H,N,S,Z]);
end;

Langage : VB6
Date ajout : 30/11/2007
Posté par Proger [Liste]
DateMAJ : 30/11/2007
Function HMS(ByVal s As Long) As String
 'avec -1 < s < 360000
 Dim j As Long, h As Long, m As Long
 Dim osB(1 To 8) As Byte
         osB(3) = 58 ' ":"
         osB(6) = 58
     
         m = s \ 60
         s = s - m * 60
         h = m \ 60
         m = m - h * 60
         
         j = s \ 10
         osB(8) = 48 + (s - j * 10)
         osB(7) = 48 + j
         
         j = m \ 10
         osB(5) = 48 + (m - j * 10)
         osB(4) = 48 + j
         
         j = h \ 10
         osB(2) = 48 + (h - j * 10)
         osB(1) = 48 + j
         
         HMS = StrConv(osB(), vbUnicode)
   End Function
Remarque :
Version avec secondes uniquement (soit millisecondes \ 1000)
Algo brut, entre 4 et 8 fois plus rapide qu'avec l'intervention de Format$(), CDate() ou API, sous VB6 (IDE ou compilé)
Combinaisons de shl/sar quand compilé, pas de idiv.
Langage : VB 2005 , VB 2008
Date ajout : 03/11/2010
Posté par elguevel [Liste]

''' <summary>

''' Convertit un temps en milliseconde en une chaine formatt HH:MM:SS

''' </summary>

''' <param name="TempsEnMilliSeconde">Nombre de milli-secondes</param>

''' <auteur>LEVEUGLE Damien [Elguevel]</auteur>

''' <returns></returns>

''' <remarks></remarks>

Public Function ConvertMilliSecondeToString(ByVal TempsEnMilliSeconde As Double) As String
Try
Dim tsTemps As New TimeSpan tsTemps = TimeSpan.FromMilliseconds(TempsEnMilliSeconde) If (tsTemps.Days > 0) Then     Return String.Format("{0}j {1}h {2}min {3}s {4}ms",tsTemps.Days,tsTemps.Hours, tsTemps.Minutes, tsTemps.Seconds,tsTemps.Milliseconds) ElseIf (tsTemps.Hours > 0) Then     Return String.Format("{0}h {1}min {2}s {3}ms",tsTemps.Hours,tsTemps.Minutes,tsTemps.Seconds, tsTemps.Milliseconds) ElseIf (tsTemps.Minutes > 0) Then     Return String.Format("{0}min {1}s {2}ms", tsTemps.Minutes, tsTemps.Seconds,tsTemps.Milliseconds) ElseIf (tsTemps.Seconds > 0) Then     Return String.Format("{0}s {1}ms", tsTemps.Seconds, tsTemps.Milliseconds) Else     Return String.Format("{0}ms", tsTemps.Milliseconds) End If
Catch ex As Exception
Throw New Exception("Erreur la conversion jj:hh:mm:ss", ex) End Try
End Function

Snippets en rapport avec : Convertir, Heures, Minutes, Secondes, Shlwapi



Codes sources en rapport avec : Convertir, Heures, Minutes, Secondes, Shlwapi

{Visual Basic, VB6, VB.NET, VB 2005} CONVERTISSEUR DE MINUTES EN HEURES
Je suis débutant et j'ai fait ce petit programme avec un code très simple, vous pouvez additionner, ...

{C / C++ / C++.NET} CONVERTION DU TEMPS
Prog pour convertir jours, heures, minutes, secondes. Je l'ai crée suite à un probleme à l'école ...

{PHP} AFFICHER UNE DATE RELATIVE (EN FRANÇAIS)
string afficherDateRelative(int $timestamp); // Procède au calcul de différence entre le timestam...

{Flash} CONVERTIR MILLISECONDES EN MINUTES:SECONDES. ( EN AS2 / DÉBUTANT )
Un simple script pour convertir une durée exprimée en millisecondes en minutes:secondes. Je me su...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX EN NUMÉRIQUE
Ce tuto n'est pas là pour des initiés mais juste pour montre au debutant comme moi le moyen de bloqu...

{Visual Basic, VB6, VB.NET, VB 2005} DÉCIMAL TO HEXDECIMAL
Voici une fonction qui permet de convertir un nombre décimal en hexadecimal en utilisant une foncti...

{Visual Basic, VB6, VB.NET, VB 2005} CONVERTIR UN NOMBRE DÉCIMAL EN FRACTION
Voici mon premier programme. Ce dernier est basé sur un algorithme que j'ai trouvé et modifier. Il p...

{Visual Basic, VB6, VB.NET, VB 2005} MODIFIER COULEUR IMAGE PAR LOT
Modifier la couleur des images par lot ou image par image. La modification se fait à l'aide de la co...

{PHP} CONVERTIR BASE FIREBIRD EN MYSQL
Voici une petit bout de code pour "convertir" une base Firebird en une base MySQL. Ce code permet: ...

{Delphi} GESTHEURES
Petit programme pour la gestion des heures travaillées affectées à des tâches. Visualisation du mois...