Soustraire deux heures [Résolu]

edwinzap - 24 janv. 2013 à 17:43 - Dernière réponse :  edwinzap
- 18 févr. 2013 à 20:09
Bonjour.
Comment faire pour soustraire deux heures? J'utilise pour l'instant ce code, mais étant débutant j'ai bien peur que se ne soit pas la meilleur façon.
Dim TempsFin As Date = TimeOfDay
        Dim Heure = DateDiff(DateInterval.Hour, TempsDebut, TempsFin)
        Dim Minute = DateDiff(DateInterval.Minute, TempsDebut, TempsFin) - 60 * Heure
        Dim Seconde = DateDiff(DateInterval.Second, TempsDebut, TempsFin) - 60 * Minute - 3600 * Heure

        Temps = Format(Heure, "00") & ":" & Format(Minute, "00") & ":" & Format(Seconde, "00")


ayant auparavant bien sur déclarer TempsDebut= timeofday lors du chargement du formulaire.

Je fais le même code pour un autre calcul de temps, temps2. Mon problème le voici: je voudrais pouvoir soustraire temps avec temps2. Comment faire puisque temps est en format texte ainsi que temps2?
Merci
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 25 janv. 2013 à 12:04
3
Merci
Salut

 Dim t As TimeSpan
 Dim t1 As Date = "10:12:05"
 Dim t2 As Date = "13:14:15"
 Dim result As Date
 t = t2.Subtract(t1)
 result = t.Hours & ":" & t.Minutes & ":" & t.Seconds

Merci cs_ShayW 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_ShayW
Meilleure réponse
3
Merci
J'ai finalement trouvé une manière qui me convient parfaitement après avoir dimensionner dans form_Load:
date1= system.datetime.now

        date2 = System.DateTime.Now
        Dim temps As TimeSpan = date2.Subtract(date1)
        Dim H = temps.Hours
        Dim M = temps.Minutes
        Dim S = temps.Seconds
        Label_temps.Text = Format(H, "00") & ":" & Format(M, "00") & ":" & Format(S, "00")

Merci edwinzap 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de edwinzap
Utilisateur anonyme - 24 janv. 2013 à 17:48
0
Merci
Bonjour,

Dans to aide, la classe TimeSpan
Commenter la réponse de Utilisateur anonyme
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 25 janv. 2013 à 11:38
0
Merci
Bonjour edwinzap,

Il y a peut être plus court ?
Pour un temps positif :

Dim hh As Integer = 0
Dim mn As Integer = 0
Dim ss As Integer = 0
Dim t1 As Date = "10:12:05"
Dim t2 As Date = "13:14:15"
ss = DateDiff(DateInterval.Second, t1, t2)
If ss <> 0 Then
 hh = ss \ 3600
 ss = ss - hh * 3600
 mn = ss \ 60
 ss = ss - mn * 60
End If
TextBox1.Text = Format(hh, "00") & "h" & Format(mn, "00") & "'" & Format(ss, "00")


Cordialement, Joe.
Commenter la réponse de ehjoe
Utilisateur anonyme - 25 janv. 2013 à 17:48
0
Merci
Salut ShayW,

Option Strict désactivé

Et ce projet ça avance ?
Commenter la réponse de Utilisateur anonyme
0
Merci
Merci pour les réponses.
Il s'avère que faire simplement t= t1-t2 fonctionne très bien et donne une valeur timespan (si je ne me trompe) que je sais facilement utilisé dans mon projet. La valeur donne "hh:mm:ss" juste ce qu'il me faut. J'ai donc supprimer tout le mon code pour remplacer simplement par cette soustraction. Pratique.
Par contre je ne trouve tjrs pas comment modifier une base de données que j'ai importée dans le projet (j'utilise vb 2010 express). Je pense qu'en double cliquant sur la base de données dans l'explorateur permet de la modifier, mais je ne sais pas si les changements sont pris en compte par la suite.
Commenter la réponse de edwinzap
0
Merci
Pour modifier la base de donnée, cela fonctionne avec la méthode dont je n'étais pas sur dans le message précédent
Et pour la soustraction de temps, j'ai oublié d'indiquer qu'il fallait mettre en "date" (c logique mais bon)
Commenter la réponse de edwinzap
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 27 janv. 2013 à 11:28
0
Merci
Salut Banana32

Option Strict désactivé


merci meme pas fait attention
du coup le projet s'est révolté
Et ce projet ça avance ?


cela dépend où on se place ?
Commenter la réponse de cs_ShayW
Utilisateur anonyme - 27 janv. 2013 à 12:13
0
Merci
Je parlais d'un projet éventuel en cours binetôt mis en ligne
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.