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 : 21686
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- VB6
- Delphi 5
- VB6



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.

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...

{Flash} COLORMANAGER AS3
Je partage cette classe que j'ai créée pour m'aider dans des projets nécessitant de travailler avec ...

{SQL} CALCUL UNE DIFFÉRENCE DE DATE EN FONCTION DE JOURS FÉRIÉS/TRAVAILLÉS ET DE PLAGE HORAIRE
Cette fonction permet de calculer une différence en minutes entre deux dates/heures, dans le cadre (...

{PHP} CONVERTIR LES RÉFÉRENCES DE COLONNE EXCEL DE CHIFFRE EN LETTRE
J'ai eu besoin de créer des tableau à l'aide de classes spécifique qui ne travaillaient qu'avec les ...

{C / C++ / C++.NET} CONVERTIR FLV 2 MP3
Tout est dit dans le titre, c'est une classe qui permet de récupérer un mp3 d'un flv. Je précise qu...

{C / C++ / C++.NET} ENCODAGE / DETECTION : UTF-8, UTF-16, ASCII, ISO 8859-1, 8859-15
Petit programme multiplateforme, basé sous Qt 4.4.1 pour la version 1 et Qt 4.3 pour la version 2 no...

{Visual Basic, VB6, VB.NET, VB 2005} BMP VERS ICO
Je voulais quelque chose de très simple, juste pour créer un fichier ICO à partir d'un BMP 32x32, 16...