Forum Clubic

Rajouter une certaine heure à la date d'aujourd'hui en VB

Bonjour,

Je fais actuellement un programme qui ce base sur les heures de poste (Matin / Après midi / Nuit).

Mon problème c’est que j’ai des variables string d’horaire :
05:30 => 13:30 = Poste Matin
13:30 => 21:00 = Poste Après midi
ect…

Et J’ai ma date d’aujourd’hui dans une autre variable de type date : 2011-01-19

Je voudrai pouvoir avoir une variable date : 2011-01-19 05:30 (car tous les jour la date change mais pas l’heure)

Après je lance ma requete :
SELECT blablabla AND Date_Heure BETWEEN ‘{0}’ AND now();", _
dateDebutPost.ToString(“yyyy-MM-dd HH:MM”))

Merci bien !
Edité le 19/01/2011 à 11:43

Une solution serai de modifier l’heure et les minutes de l’heure actuel genre :

Dim DateJ As Date = Date.now()
DateJ.Hour = 5

Evidement sa ne marche pas ^^

Je ne connais pas les API de VisualBasic, mais ça ne consisterai en faisant un ajout de date ?

msdn.microsoft.com…

Sachant qu’en général, si tu n’as pas l’information d’heure, c’est minuit qui est pris par défaut.

Merci pour ton aide, je n’ai pas utilisé la méthode de Mic que tu a trouvé mais grace à ton aide j’ai trouvé ce que je cherchai
En fin de compte sa donne sa :


If Format(Now, "hh:mm") <= matinFin Then
            periode = "Matin"
            datePeriode = datePeriode.AddHours(5)
            cmdstr = String.Format("SELECT Date_Heure FROM demerit.defauts_constates WHERE Date_Heure > '{0}' ORDER BY Date_Heure ASC LIMIT 1;", _
                                   datePeriode.ToString("yyyy-MM-dd HH:MM"))
        ElseIf Format(Now, "hh:mm") <= apFin Then
            periode = "Après Midi"
            datePeriode = datePeriode.AddHours(13)
            datePeriode = datePeriode.AddMinutes(30)
            cmdstr = String.Format("SELECT Date_Heure FROM demerit.defauts_constates WHERE Date_Heure > '{0}' ORDER BY Date_Heure ASC LIMIT 1;", _
                                   datePeriode.ToString("yyyy-MM-dd"))
        Else
            periode = "Nuit"
            datePeriode = datePeriode.AddHours(21)
            cmdstr = String.Format("SELECT Date_Heure FROM demerit.defauts_constates WHERE Date_Heure > '{0}' ORDER BY Date_Heure ASC LIMIT 1;", _
                                  datePeriode.ToString("yyyy-MM-dd"))
        End If

Ce n’ai qu’un test mais sa fonctionne, je met tous sa au propre et GO la suite de mon projet !
Encore merci !!!
Edité le 20/01/2011 à 07:24