AccueilCodes sourcesFreewaresArticlesRéponsesRechercheVotre avisNewsMon blogLiensContact
Vendredi 31 Octobre 2025

Valid HTML 4.01 Transitional

126 codes sources48 articles77 news24 Liens15 avis9 réponses.
Comment savoir sur quel fuseau horaire on se trouve ?
La procédure suivante permet de retrouver le décalage horaire par rapport à l'heure GMT
En résumé : sur quel fuseau horaire on se trouve ?



PROCEDURE PRIVÉE FuseauHoraire(sFormat="*HH:MM")

SYSTEMTIME est une structure
        nAnnée est un entier sur 2
        nMois est un entier sur 2
        nJourSemaine est un entier sur 2
        nJour est un entier sur 2
        nHeure est un entier sur 2
        nMinute est un entier sur 2
        nSeconde est un entier sur 2
        nMillisecondes est un entier sur 2
FIN


sChaineRetour est une chaîne
MaDateSystème est un SYSTEMTIME
MonHeure est une Heure
nDifférence est un entier

// Appel de l'api pour récupérer l'heure en GMT
API("kernel32.dll","GetSystemTime",&MaDateSystème)

// Affectation de la variable de type heure
MonHeure..Heure = MaDateSystème:nHeure
MonHeure..Minute = MaDateSystème:nMinute
MonHeure..Seconde = MaDateSystème:nSeconde
MonHeure..Milliseconde = 0

// Calcul de la différence entre les deux
nDifférence = HeureDifférence(MonHeure,HeureSys)


// Si la différence est positive,
SI nDifférence > 0 ALORS
        // on est donc en "+" par rapport à l'heure GMT
        sChaineRetour = Remplace(sFormat,"*","+")
SINON
        // on est en "-" par rapport à l'heure GMT
        sChaineRetour = Remplace(sFormat,"*","-")
FIN

// On remplace les heures (HH dans le format) par le nombre d'heures de différence
// Attention la différence est donnée en millisecondes donc une heure = 360000 ms
sChaineRetour = Remplace(sChaineRetour,"HH",NumériqueVersChaîne(nDifférence/360000, "02d"))

// On remplace les minutes (MM dans le format) par le nombre de minutes de différence.
// Attention la différence est donnée en millisecondes donc une minute = 6000 ms
sChaineRetour = Remplace(sChaineRetour,"MM",NumériqueVersChaîne(modulo(nDifférence,360000)/6000, "02d"))


// Ici sChaineRetour = "+01:00"
Info(sChaineRetour)





Liste des codes sources
®2006 - codel5g.com