Calcul du temps écoulé entre deux heures

valenos Messages postés 1 Date d'inscription samedi 14 août 2010 Statut Membre Dernière intervention 14 août 2010 - 14 août 2010 à 19:54
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 20 août 2012 à 14:32
Salut;
je souhaite avoir le code pour calculer le temps écoulé entre deux heures de jours différents ex :

Le train rentre à 23:00 et fais son départ à 1:00 du jour qui suit le temps du séjour est du 2 heures.
comment faire pour calculer ces deux heures.
Cordialement.

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 août 2010 à 20:31
regarde du coté de la fonction DateDiff.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
dlpinformatique Messages postés 3 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 16 janvier 2011
16 janv. 2011 à 21:01
oui en effet la fonction datediff est faite pour cela :
exemple,
VBA.DateDiff("d", Date1, Date2, vbMonday, vbFirstJan1)

l'argument interval : c'est l'unité de comparaison

"yyyy" Année
"q" Trimestre
"m" Mois
"y" Jour de l'année
"d" Jour
"w" Jour de la semaine
"ww" Semaine
"h" Heure
"n" Minute
"s" Seconde

Parcontre, j'aimerais bien connaitre le temps ecoulé en "heure:minutes" entre 2 dates en comptant que pendant les heures de travail :

exemple, on compte le temps ecoulé tous les jours entre 8h jusqu'a 18h du Lundi au vendredi uniquement.

exemple concret : Date1 le vendredi 14/01/2011 15h et Date2 le lundi 17/01/2011 à 10h
en prenant en compte mon hypothese de depart, le temps ecoulé serait du vendredi 15h jusqu'a 18h + le lundi de 8h jusqu'a 10h.
Ce qui fait 3h+2h= 5h de temps écoulé (temps de travail).

Je n'ai pas trouvé la fonction ou l'algorithme qui permet d'effectuer le calcul

Si quelqu'un a une solution je suis preneur.


dlpinformatique
0
bonjour tout le monde

J'ai trouvé une solution efficace à ce problème, mais j'ai rencontré un problème. Le programme affiche 9 fois le message que je veux qu'il affiche quand la condition est vraie.

Je ne sais pas si quelqu'un peut m'aider pour corriger cette erreur. Je veux qu''il affiche seulement une seule fenêtre au lieu de 9 fenêtres quand il trouve que la différence entre les deux heures correspond bien à ce qui est décrit dans la condition.

voici mon code. Je l'ai fait avec VB 2010

Public Class Foires
Private Sub foires_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
programme.Text = (TimeOfDay)

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = Format(TimeOfDay)
If Label1.Text = "12:00:00" Then My.Computer.Audio.Play(My.Resources.note, AudioPlayMode.Background)

End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim hd As Integer
Dim md As Integer
Dim ha As Integer
Dim ma As Integer
Dim sa As Integer
Dim sd As Integer
Dim prestation As Integer
Dim h As Integer
Dim total As Integer
Dim h1 As Integer
Dim total1 As Integer
md = Minute(Label1.Text)
sd = Second(Label1.Text)
hd = Hour(Label1.Text)
ma = Minute(programme.Text)
sa = Second(programme.Text)
ha = Hour(programme.Text)
h = ((hd * 60) + md) * 60
total = h + sd
h1 = ((ha * 60) + ma) * 60
total1 = h1 + sa
prestation = (total - total1)

If (prestation = 28800) Then My.Computer.Audio.Play(My.Resources.note, AudioPlayMode.Background)

End Sub

Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
End
End Sub

Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer2.Enabled = False
programme.Enabled = False
MsgBox("La notification est désactivée.")
End Sub
End Class
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
20 août 2012 à 14:32
Bonjour, will1ma
P0eux-tu nous dire ce que vient faire ici ton intervention ?
D'autant que le code montré, qui est du VB.Net, n'a rien à voir avec :
Forum > Visual Basic 6 > Langages dérivés > VBA


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0