Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.
Modérateur :Vilains modOOs
Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
J'ai un document qui sera donné à des utilisateurs répartis sur plusieurs fuseaux horaires.
Pour ne pas faire de broche à foin, j'ai pensé à récupérer l'heure UTC des datas saisies.
Ma question est comment faire ?
L'idéal serait une fonction dans laquelle je passe l'heure et qui me retourne l'UTC :
Basé sur le suggestion de Jeff (que je salue au passage).
Il s'agit de récupérer l'heure UTC fournie par un site quelconque (je n'ai pas réussi à partir d'un serveur NTP). J'en ai trouvé un sans fioritures ici : http://www.heure.com/heure-fr.php?timezone=0/
En effectuant une recherche sur la fonction OPEN dans l'aide F1, j'ai trouvé un exemple de code qui permet de récupérer des infos à partir d'une URL que j'ai adapté à la situation.
Sub TimeUTC
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "http://www.heure.com/heure-fr.php?timezone=0/"
iNumber = Freefile
Open aFile For Input As iNumber
Do
Line Input #iNumber, sLine
Loop Until Left(sLine, 26) = "ejs_server_date = new Date"
Close #iNumber
x=(left(Right(sLine, 11),10))
x=split(x,",")
z=trim(x(0))&":"&trim(x(1))&":"&trim(x(2))
MsgBox TimeValue(z)
End Sub
Nécessite une connexion à internet.
En principe, toujours à jour des dernières versions dites stables AOO LibreOffice Debian 10 et 11
En complément, à partir d'un autre site : h**p://dateandtime.info/fr/utc.php on peut en plus récupérer la date du jour.
J'ai pensé qu'en fonction de la position géographique des utilisateurs cela pourrait être nécessaire voire indispensable :
Option explicit
Sub Main
Dim iNumber As Integer, i as Integer
Dim sLine As String, aFile As String, sMsg As String
aFile = "http://dateandtime.info/fr/utc.php"
iNumber = Freefile
Open aFile For Input As iNumber
For i = 1 to 268
Line Input #iNumber, sLine
if i = 268 Then
sMsg = Right(Left(sLine,71),19)
end if
next
Close #iNumber
msgBox sMsg
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables AOO LibreOffice Debian 10 et 11
Function getTimeUTC
aFile = "http://worldclockapi.com/api/json/utc/now"
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
sMsg = Split(Right(left(sLine,46),16),"T")
Wend
Close #iNumber
getTimeUTC = sMsg(0) & " " & sMsg(1)
End Function
La fonction Open t'évite l'appel aux services "com.sun.star.ucb.SimpleFileAccess" et "com.sun.star.io.TextInputStream"
En principe, toujours à jour des dernières versions dites stables AOO LibreOffice Debian 10 et 11