Languages

passage à l'heure d'hiver ou d'été en php

Comment gérer le passage à l'heure d'hiver ou à l'heure d'été dans ses applications ? Cette petite fonction php vous aide à déterminer si la date passée en paramètre est une date de passage à l'heure d'hiver ou à l'heure d'été . Pour info , ces passages arrivent toujours le dernier samedi du mois d'octobre (pour le passage à l'heure d'hiver), et le dernier samedi du mois de mars (pour lepassage à l'heure d'été) . Avec la fonction date on peut facilement savoir si on est un samedi et si c'est le dernier du mois (en rajoutant 7 jours à la date et en regardant si on est encore le même mois ).

function checkSwitchToWinterTime($day){
        //day is yyyymmdd
        $y =substr($day,0,4);
        $m = substr($day,4,2);
        $d = substr($day,6,2);
        //  if it is a saturday of october, check if it's the last one
        if(date("D-m", mktime(0, 0, 0, $m, $d, $y))=="Sat-10"){ ;
                if((date("m", mktime(0, 0, 0, $m, $d, $y))) !=  (date("m", mktime(0, 0, 0, $m, $d+7, $y)))) {
                    return true;
                }
                return;
        }
        return;

}
function checkSwitchToSpringTime($day){
    //day is yyyymmdd
    $y =substr($day,0,4);
    $m = substr($day,4,2);
    $d = substr($day,6,2);
    //  if it is a saturday of october, check if it's the last one
    if(date("D-m", mktime(0, 0, 0, $m, $d, $y))=="Sat-03"){ ;
        if((date("m", mktime(0, 0, 0, $m, $d, $y))) !=  (date("m", mktime(0, 0, 0, $m, $d+7, $y)))) {
            return true;
        }
        return;
    }
    return;

}

»