Private Sub detecter_changementheure() 'Merci à Egalon pour son code en VB6 'http://codes-sources.commentcamarche.net/source/24735-calcul-du-decalage-heure-ete-hiver-en-fonction-d-une-date Dim seuilete As Date Dim seuilhiver As Date Dim dteData As Date Dim iddate As String Dim jour As Integer Dim uneDateC As Decimal 'nombre jour depuis début année Dim seuileteC As Decimal 'jour debut année heure ete Dim seuilhiverC As Decimal 'jour debut année heure d'hiver Dim DateS As String Dim DateD As DateTime Dim Annee As String 'mis à jour des dates dteData = Now 'today Annee = (dteData.ToString("yyyy")) 'année en cours 'uneDate = CDate(TextBox1.Text) iddate = "25/03/" & Annee & " 02:00:00" 'on est le 25 mars de la même année seuilete = CDate(iddate) jour = Weekday(seuilete, vbMonday) 'combien de jours avant d'atteindre le prochain dimanche? iddate = (32 - jour) & "/03/" & Annee & " 02:00:00" seuilete = CDate(iddate) lblete.Text = "Heure d'été: " & Format(seuilete, "dddd d MMM yyyy") '---------------------------------------------------------------------- 'idem mais pour l'heure d'hiver 'on est le 25 Octobre de la même année iddate = "25/10/" & Annee & " 02:00:00" seuilhiver = CDate(iddate) jour = Weekday(seuilhiver, vbMonday) 'combien de jours avant d'atteindre le prochain dimanche? iddate = (32 - jour) & "/10/" & Annee & " 02:00:00" seuilhiver = CDate(iddate) lblhiver.Text = "Heure d'hiver: " & Format(seuilhiver, "dddd d MMM yyyy") '-------------------------------------------------------------------- 'une petite comparaison DateS = ("01/01/" & Annee) 'Saisir une date : on récupère une string DateD = CDate(DateS) 'Conversion de la string en DateTime uneDateC = DateDiff(DateInterval.Day, DateD, Now) + 1 seuileteC = DateDiff(DateInterval.Day, DateD, seuilete) + 1 'différence en jours à partir debut d'année a l'heure d'été seuilhiverC = DateDiff(DateInterval.Day, DateD, seuilhiver) + 1 'différence en jours heure d'hiver à la fin de l'année lblweek.Text = "Nous sommes la " & DatePart("ww", dteData, vbMonday, vbFirstFourDays) & " ème semaine" lbltoday.Text = "Aujourd'hui " & uneDateC & " ème jour de l'année." 'différence en jours If lbltoday.Text = "Aujourd'hui 1 ème jour de l'année." Then lbltoday.Text = "Aujourd'hui 1 er jour de l'année." End If If lblweek.Text = "Nous sommes la 1 ème semaine" Then lblweek.Text = "Nous sommes la 1 ère semaine" End If If (seuileteC < uneDateC) And (uneDateC < seuilhiverC) Then ete = True Else ete = False End If End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click detecter_changementheure() End Sub Private Sub detecter_changementheure() Dim seuilete As Date Dim seuilhiver As Date Dim dteData As Date Dim iddate As String Dim jour As Integer Dim uneDateC As Decimal 'nombre jour depuis début année Dim seuileteC As Decimal 'jour debut année heure ete Dim seuilhiverC As Decimal 'jour debut année heure d'hiver Dim DateS As String Dim DateD As DateTime Dim Annee As String 'mis à jour des dates dteData = Now 'today Annee = (dteData.ToString("yyyy")) 'année en cours 'uneDate = CDate(TextBox1.Text) iddate = "25/03/" & Annee & " 02:00:00" 'on est le 25 mars de la même année seuilete = CDate(iddate) jour = Weekday(seuilete, vbMonday) 'combien de jours avant d'atteindre le prochain dimanche? iddate = (32 - jour) & "/03/" & Annee & " 02:00:00" seuilete = CDate(iddate) '----------------------------------------------------------- 'idem mais pour l'heure d'hiver 'on est le 25 Octobre de la même année iddate = "25/10/" & Annee & " 02:00:00" seuilhiver = CDate(iddate) jour = Weekday(seuilhiver, vbMonday) 'combien de jours avant d'atteindre le prochain dimanche? iddate = (32 - jour) & "/10/" & Annee & " 02:00:00" seuilhiver = CDate(iddate) '------------------------------------------------------------------ 'une petite comparaison DateS = ("01/01/" & Annee) 'Saisir une date : on récupère une string DateD = CDate(DateS) 'Conversion de la string en DateTime uneDateC = DateDiff(DateInterval.Day, DateD, Now) + 1 seuileteC = DateDiff(DateInterval.Day, DateD, seuilete) + 1 'différence en jours à partir debut d'année a l'heure d'été seuilhiverC = DateDiff(DateInterval.Day, DateD, seuilhiver) + 1 'différence en jours heure d'hiver à la fin de l'année If (seuileteC < uneDateC) And (uneDateC < seuilhiverC) Then MsgBox("je suis en heure d'été") Else MsgBox("je suis en heure d'hiver") End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dtchgetehiv(Now) End Sub Function Dtchgetehiv(t0 As Date) As Date Dim jour As Integer Dim refdate As Object Dim debuthiver As Date 'on se place au 25 Octobre refdate = "25/10/" & Year(t0) & " 03:00:00" debuthiver = CDate(refdate) jour = Weekday(debuthiver, vbMonday) 'Le passage à l'heure d'hiver intervient à l'instant: refdate = (32 - jour) & "/10/" & Year(t0) & " 03:00:00" Dtchgetehiv = CDate(refdate) MsgBox(Dtchgetehiv) End Function