PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → Comment récupérer le fuseau horaire de l'utilisateur Web ?
Comment récupérer le fuseau horaire de l'utilisateur Web ?
Started by Patrice RAUCQ, Nov., 20 2020 1:42 AM - 6 replies
Registered member
58 messages
Popularité : +2 (2 votes)
Posted on November, 20 2020 - 1:42 AM
Bonjour,

Me trouvant dans un fuseau GMT-10, j'utilise la fonction DateHeureLocaleVersFuseau() afin d'avoir la date locale plutôt que la date du serveur de mon hébergeur qui est sur un autre fuseau horaire.

Pour le moment, je saisis "en dur" le nom de mon fuseau horaire ce qui fonctionne mais me gêne un peu.
Serait-il possible de récupérer le nom du fuseau horaire de l'utilisateur Web par programmation ?

Merci pour votre aide, bonne journée.

Cordialement,

Patrice

--
-----------
WD 25
Windows 10
Registered member
1,603 messages
Popularité : +64 (70 votes)
Posted on November, 20 2020 - 8:14 AM
Bonjour,

DateHeureSys fonctionne en code navigateur depuis la version 25. Il est aussi possible de convertir la dateheuresysteme du serveur en temps UTC. Il est donc possible de récupérer la valeur du fuseau horaire.

--
Cordialement
François
Registered member
58 messages
Popularité : +2 (2 votes)
Posted on November, 20 2020 - 8:29 PM
Bonjour François,

Merci pour cette réponse.
J'avais en effet vu que DateHeureSys fonctionnait en code navigateur depuis la version 25.
J'ai aussi testé la fonction DateHeureUTCVersLocale().
Malheureusement je n'ai pas réussi à obtenir la bonne date lors de mes tests, je dois rater quelque chose.
Je suppose que je n'ai pas initialisé mes champs dates au bon endroit, dans quel événement me conseilles-tu de placer ce code ?

Cependant, la fonction DateHeureLocaleVersFuseau() me donnant entière satisfaction, j'aimerais quand-même pouvoir récupérer le nom du fuseau horaire, si quelqu'un a une idée, je suis preneur.

Merci et bonne journée.

Cordialement,
Patrice

--
-----------
WD 25
Windows 10
Registered member
58 messages
Popularité : +2 (2 votes)
Posted on November, 21 2020 - 12:33 AM
Je me réponds ...

L'événement navigateur qui fonctionne est sur le onload de la page.
Le champ date est bien initialisé avec la date du navigateur.
Mais ensuite, j'ai besoin de cette date pour l'ouverture d'une autre page, via un code serveur.
Malheureusement, d'après l'aide WB, le type date ne peut être synchronisé entre le navigateur et un code serveur.
J'ai donc tenté une conversion DateHeureVersRéel() en utilisant une variable globale à la page de type réel.
Mais étonnamment, le passage vers un réel me donne un jour de décalage.
Bref, récupérer le nom du fuseau horaire m'aiderait bien.

Patrice

--
-----------
WD 25
Windows 10
Registered member
58 messages
Popularité : +2 (2 votes)
Posted on November, 21 2020 - 6:20 AM
Je continue ...

Utiliser une variable Chaîne semble être la solution.
Je teste et je fais un compte-rendu.

Patrice

--
-----------
WD 25
Windows 10
Registered member
948 messages
Popularité : +30 (92 votes)
Posted on November, 21 2020 - 4:53 PM
Bonjour Patrice,

Dans une fonction navigateur de type Javascript
function getTimezoneName()
{
return Intl.DateTimeFormat().resolvedOptions().timeZone
}




---
#lapiraterienestjamaisfinie

Patrice RAUCQ: Te trouvant dans un fuseau GMT-10, peut être sera-tu intéresser ?
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.horssujet/8666-polynesie-francaise/read.awp
Registered member
58 messages
Popularité : +2 (2 votes)
Posted on November, 22 2020 - 12:46 AM
Bonjour,

Finalement, je reste sur l'idée de François, avec une variable navigateur synchronisée avec le serveur.

Je joins une capture du code utilisé.

Merci à tous.
Cordialement.
Patrice




--
-----------
WD 25
Windows 10