Le code contient 4 fonctions.
Les deux premières fonctions permettent de calculer le jour de changement de date (celui ci s'effectue en hiver le dernier dimanche du mois d'octobre, et en été le dernier dimanche du mois de mars).
Les deux secondes calculent la nouvelle date avec en entrée la date locale pour la convertir en gmt dans la premiere, et le contraire pour la seconde fonction.
Source / Exemple :
'fonctions de determination de la date de changement d'heure pour l'hiver puis pour l'été
function getchgtdatehiver()
datestart= Year(now)
for i=31 to 0 step -1
datearriv= i & "/10/" & datestart
if Weekday(datearriv) = 1 then
getchgtdatehiver=datearriv
exit for
end if
next
end function
function getchgtdateete()
datestart= Year(now)
for i=31 to 0 step -1
datearriv= i & "/03/" & datestart
if Weekday(datearriv) = 1 then
getchgtdateete=datearriv
exit for
end if
next
end function
'fonction de convertion de gmt en local
Function convFromGMT(TheDate)
TheDate=Cdate(TheDate)
if TheDate<cdate(getchgtdateete()) then
convFromGMT=DateAdd("h",1,TheDate)
elseif TheDate>cdate(getchgtdateete()) and TheDate<cdate(getchgtdatehiver()) then
convFromGMT=DateAdd("h",2,TheDate)
elseif TheDate>cdate(getchgtdatehiver()) then
convFromGMT=DateAdd("h",1,TheDate)
end if
end function
'fonction de convertion de local en gmt
Function convToGMT(TheDate)
TheDate=Cdate(TheDate)
if TheDate<cdate(getchgtdateete()) then
convToGMT=DateAdd("h",-1,TheDate)
elseif TheDate>cdate(getchgtdateete()) and TheDate<cdate(getchgtdatehiver()) then
convToGMT=DateAdd("h",-2,TheDate)
elseif TheDate>cdate(getchgtdatehiver()) then
convToGMT=DateAdd("h",-1,TheDate)
end if
end function
Conclusion :
Le principe : je determine d'abord le chgt de date en hiver et en été en partant du 31 jusqu'à arriver à un dimanche.
Une fois determiné, je rajoute(ou j'enlève) 1 h si je suis en hiver, et 2 h si je suis en été.
Si vous avez des remarques n'hésitez pas.
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.