Page 1 sur 1

[R] Horloge selon fuseaux horaires

Posté : mar. 19 déc. 2023 16:56
par scorp84
Bonjour à tous,

Je cherche à faire une horloge qui affiche les heures de la Guyane, de La Martinique, de Mayotte, de la réunion et de Tahiti.

J'ai trouvé la fonction _Date_Time_SetTimeZoneInformation() et je n'arrive pas à trouver comment définir la zone désirée.

Merci d'avance pour votre aide.

Amicalement.

BM

Re: [..] Horloge selon fuseaux horaires

Posté : mar. 19 déc. 2023 21:31
par mikell
Hum si tu n'as que ces 5 lieux à traiter, franchement le plus simple c'est de relever les décalages horaires correspondants et d'utiliser _NowTime() et DateAdd()

Image

Re: [..] Horloge selon fuseaux horaires

Posté : mer. 20 déc. 2023 10:29
par scorp84
Bonjour Mikell,

Merci pour ta réponse.

En fait je ne voulais pas avoir à gérer les décalages horaires avec les heures d'été et d'hiver.

La solution des fuseaux horaires me semblait le plus simple.

Amicalement.

BM

Re: [..] Horloge selon fuseaux horaires

Posté : mer. 20 déc. 2023 12:07
par walkson
Bonjour,
Il y a la solution de Nine si elle vous convient
https://www.autoitscript.com/forum/topi ... nt=1463121

Code : Tout sélectionner

#include <Constants.au3>

Local $String = BinaryToString(InetRead ("https://www.worldtimeapi.org/api/timezone/Indian/Reunion.txt",1))
Local $Time = StringRegExp ($String,'datetime: (.+?)T(\d+:\d+:\d+)', $STR_REGEXPARRAYMATCH)
MsgBox ($MB_SYSTEMMODAL,"Réunion",$Time[0] & " " & $Time[1])

Local $String = BinaryToString(InetRead ("https://www.worldtimeapi.org/api/timezone/Pacific/Tahiti.txt",1))
Local $Time = StringRegExp ($String,'datetime: (.+?)T(\d+:\d+:\d+)', $STR_REGEXPARRAYMATCH)
MsgBox ($MB_SYSTEMMODAL,"Tahiti",$Time[0] & " " & $Time[1])

Re: [..] Horloge selon fuseaux horaires

Posté : mer. 20 déc. 2023 17:15
par mikell
scorp84 a écrit : mer. 20 déc. 2023 10:29 je ne voulais pas avoir à gérer les décalages horaires avec les heures d'été et d'hiver.
Les DOM/TOM n'appliquant pas le changement d'heure été/hiver il suffit d'utiliser l'heure française UTC facile à déterminer avec le bias fourni par _Date_Time_GetTimeZoneInformation
Pour une horloge locale dynamique ça consomme infiniment moins de ressources que de bombarder une api de requêtes, et on est indépendant d'internet
Exemple :

#include <Date.au3>

$bias = _Date_Time_GetTimeZoneInformation()[1]
$utc = _DateAdd('n', $bias, _NowCalc() )
$tahiti = -10
$res = _DateAdd('h', $tahiti, $utc )
Msgbox(0,"", $res)

Re: [..] Horloge selon fuseaux horaires

Posté : mer. 20 déc. 2023 20:58
par scorp84
Bonsoir,

Merci à tous les 2 pour votre aide précieuse (comme d'hab ;-)

Amicalement.

BM