Format date :résultat d'une différence de date en minute et seconde [Résolu]

Signaler
Messages postés
62
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
-
Bonjour,
Après multiples recherches, je n'ai malheuresement pas trouvé mon bonheur sur le sujet.
Je cherche à avoir un format de date en minute:seconde soit "mm:ss"
Explication :
J'ai deux dates malheuresement au format "jour heure:minute:seconde", soit "jj/mm/aaaa hh:mm:ss". A ces deux dates, je désire en réaliser la différence. Je sais que cette différence ne sera pas suppérieur à 60 minutes, c'est pourquoi je voudrais le résultat en mm:ss.
J'ai cependant trouver une parade mais le résultat est une chaine de caractère et non un format date. La conversion au format date me donne des heures et non des minutes (décalage)
voici le code :

Dim heure1
As
Date

Dim heure2
As
Date

Dim resultat
As
Date

Dim inter1
As
Integer

Dim resultString
As
String

Dim difference
As
Longheure1 =

CDate(
"12/05/2008 12:10:0")heure2 =

CDate(
"12/05/2008 12:25:25")difference = DateAndTime.DateDiff(DateInterval.Second, heure1, heure2)

'le résultat ne dépasse pas une heureinter1 = difference \ 60

difference = difference - (inter1 * 60)

resultat =

CDate(
"00:" &
CStr(inter1) &
":" & CStr(difference))resultString CStr(resultat)resultat Format(resultat,

"mm:ss")MsgBox(resultString & vbTab &

CStr(resultat))

Affichage : 00:15:25   15:25:00
Hic : si le temps d'écart est supérieur à 24minutes.
Je pense qu'il y a beacoup plus simple et c'est pourquoi je m'adresse à vous.
En entrée : deux dates (le format de ces dates peut être changer)
En sortie :  la différence de ces dates au format date("minutes:secondes")

Merci d'avance, Cordialement,
Xpmich
A voir également:

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Salut,
Utilises resultat = Format(resultat, "00:mm:ss"
)
Sinon tu peux utliser TimeSerial()
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
62
Date d'inscription
lundi 29 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2010

je valide ta réponse car les deux choix sont tout à fait correcte. cependant, je préfère le TimeSerial() qui est plus "propre".

Mais je n'ais toujours pas de format date : "mmm:ss" mais "hh:mm:ss" mais je demande peut être l'impossible.
Une solution, passer en string?
Merci d'avance
Xpimch
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
7
Salut,



    Dim
heure1

As
Date


    Dim
heure2

As
Date
    Dim Diff As TimeSpan= heure2 - heure1
    MsgBox("La différence est de " & Diff.Minutes & " minutes et " & Diff.Seconds & " secondes.")