Pour un projet devant tourner sur plusieurs machines, j'ai eu besoin de récupérer une heure commune.
Cette fonction "_NowCalcInternet" utilise le retour de l'URL "http://ntp.alapetite.fr/date.txt.php". (Avec une précision de l'ordre de 1 seconde, ce qui me suffit).
Si vous avez une objection à cette méthode, et une autre proposition, je suis preneur, et si ça peut servir, voici le code.
ça fonctionne correctement, ma seule interrogation concerne la pérennité du site en question, mais ça semble solide à première vue.
Le Dr Alexandre Alapetite n'a pas l'air d'un charlot...! https://alexandre.alapetite.fr/cv/
(*) NTP: Network Time Protocole
#include <Date.au3>
ConsoleWrite ("DATE & HEURE INTERNET: " & _NowCalcInternet() & @CRLF)
; #FUNCTION# ===============================================================================
; Name ..........: _NowCalcInternet
; Description ...:
; Syntax ........: _NowCalcInternet ()
; Parameters ....: None
; Return values .: Date & Time au format "_NowCalc": YYYY/MM/DD HH:MM:SS
; Author ........: M.C., Septembre 2017
; Remarks .......: le site consulté renvoie une date et heure au format: AAAA-MM-JJTHH:MM:SS+02:00
; ===========================================================================================
Func _NowCalcInternet()
Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "http://ntp.alapetite.fr/date.txt.php")
$oHTTP.Send()
Local $DateInternet = $oHTTP.Responsetext
$DateInternet = StringLeft ($DateInternet, 19)
If _DateIsValid ( $DateInternet ) = 1 Then
$DateInternet = StringReplace ($DateInternet, "T", " ")
$DateInternet = StringReplace ($DateInternet, "-", "/")
SetError (0)
Return ($DateInternet)
Else
SetError (1)
Return (-1)
EndIf
EndFunc ;==>_NowCalcInternet
ConsoleWrite ("DATE & HEURE INTERNET: " & _NowCalcInternet() & @CRLF)
; #FUNCTION# ===============================================================================
; Name ..........: _NowCalcInternet
; Description ...:
; Syntax ........: _NowCalcInternet ()
; Parameters ....: None
; Return values .: Date & Time au format "_NowCalc": YYYY/MM/DD HH:MM:SS
; Author ........: M.C., Septembre 2017
; Remarks .......: le site consulté renvoie une date et heure au format: AAAA-MM-JJTHH:MM:SS+02:00
; ===========================================================================================
Func _NowCalcInternet()
Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "http://ntp.alapetite.fr/date.txt.php")
$oHTTP.Send()
Local $DateInternet = $oHTTP.Responsetext
$DateInternet = StringLeft ($DateInternet, 19)
If _DateIsValid ( $DateInternet ) = 1 Then
$DateInternet = StringReplace ($DateInternet, "T", " ")
$DateInternet = StringReplace ($DateInternet, "-", "/")
SetError (0)
Return ($DateInternet)
Else
SetError (1)
Return (-1)
EndIf
EndFunc ;==>_NowCalcInternet