[Résolu][Basic] Obtenir l'heure UTC

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: 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 !

[Résolu][Basic] Obtenir l'heure UTC

Messagepar CanadaDry » 20 Juil 2019 11:50

Bonjour le forum,

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 :
Code : Tout sélectionner   AgrandirRéduire
Function getTimeUTC (sTime )
   ' le code qui me manque
End Function


PS : bien que mon doc tourne avec Calc, j'ai mis Basic car elle me semble indépendante.
Dernière édition par CanadaDry le 22 Juil 2019 19:20, édité 1 fois.
OpenOffice 4.1.7 Windows 7 Edition Professional
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 169
Inscrit le : 25 Nov 2014 15:09
Localisation : Laval, QC

Re: [Basic] Obtenir l'heure UTC

Messagepar Jean-Louis Cadeillan » 20 Juil 2019 12:18

Bonjour,
L'extension Java Time Zones pourrait fonctionner. À tester.
Cordialement,
Jean-Louis
LibO 6.3.6.2 (x64 avec Java 1.8.0_241) et AOO 4.1.7 (avec Java x32 1.8.0_261), Windows 7 Édition Intégrale 64 SP1, (Domicile)
LibO 5.4.1.2 (x86) sous Ubuntu LTS 16.04.1, noyau 4.4.0-93 et Xfce 4.12, Java (x86) 1.8.0_131 (Travail) [obligation de version]
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
 
Message(s) : 5017
Inscrit le : 03 Jan 2009 00:56

Re: [Basic] Obtenir l'heure UTC

Messagepar gerard24 » 20 Juil 2019 12:39

Bonjour,

Sur le forum en langue anglaise : [Solved] How can I get GMT (UTC) time into my macro (Basic)?
Solution pour Windows uniquement.

A+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3152
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Re: [Basic] Obtenir l'heure UTC

Messagepar CanadaDry » 20 Juil 2019 13:32

Merci pour ces 1eres réponses matinales

@Jean-Louis: l'installation de l'extension ne me sera pas possible.

@Gérard: j'aurai des systèmes sous Mac parmi les utilisateurs

Je recherche une solution si possible Basic pur sans avoir recours à extension ou bibliothèque (DLL) externe
OpenOffice 4.1.7 Windows 7 Edition Professional
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 169
Inscrit le : 25 Nov 2014 15:09
Localisation : Laval, QC

Re: [Basic] Obtenir l'heure UTC

Messagepar CanadaDry » 20 Juil 2019 13:50

Je vois qu'il y a du code en Python dans le thread anglais.
Je vais regarder si cela convient.

Si quelqu'un a une réponse Basic, je reste preneur. :)

A tantôt
OpenOffice 4.1.7 Windows 7 Edition Professional
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 169
Inscrit le : 25 Nov 2014 15:09
Localisation : Laval, QC

Re: [Basic] Obtenir l'heure UTC

Messagepar Jeff » 20 Juil 2019 15:04

Bonjour à tous,

Il y a aussi ce fil de discussion,:
https://forum.openoffice.org/en/forum/v ... &hilit=utc

A +

 Ajout : a priori, il va falloir réussir à utiliser Network Time Protocol pour se connecter à un serveur de temps et faire ce que tu souhaites... 
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Emmabuntus Debian Edition 3 Buster 32 bits, sur Ubuntu 18.04.1 x64 (Bionic Beaver), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8337
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: [Basic] Obtenir l'heure UTC

Messagepar OOotremer971 » 22 Juil 2019 04:13

Bonjour,

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.

A tester :
Code : Tout sélectionner   AgrandirRéduire
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
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2352
Inscrit le : 16 Avr 2010 14:31

Re: [Basic] Obtenir l'heure UTC

Messagepar CanadaDry » 22 Juil 2019 19:20

Tiguidou!

Ca me va, merci OOotremer971
OpenOffice 4.1.7 Windows 7 Edition Professional
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 169
Inscrit le : 25 Nov 2014 15:09
Localisation : Laval, QC

Re: [Résolu][Basic] Obtenir l'heure UTC

Messagepar OOotremer971 » 23 Juil 2019 23:38

Bonjour,

En complément, à partir d'un autre site : [url]h**p://dateandtime.info/fr/utc.php[/url] 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 :
Date_et_heure_UTC.png
Date_et_heure_UTC.png (4.96 Kio) Consulté 405 fois

Code : Tout sélectionner   AgrandirRéduire
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
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2352
Inscrit le : 16 Avr 2010 14:31

Re: [Résolu][Basic] Obtenir l'heure UTC

Messagepar CanadaDry » 25 Juil 2019 18:43

Finalement, j'ai changé pour un autre site fournissant une API.
Voici le source code final:
Code : Tout sélectionner   AgrandirRéduire
Function getTimeUTC
        sURL = convertToURL("http://worldclockapi.com/api/json/utc/now")
        oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
        oFlux = oSFA.openFileRead(sURL)
        oTIS = createUnoService("com.sun.star.io.TextInputStream")
        oTIS.InputStream = oFlux
        Do while Not oTIS.isEOF
           sLigne = oTIS.readLine
        Loop
        oTIS.closeInput
        oFlux.closeInput
        oDate = Split (sLigne, ",") '-> "currentDateTime":"2019-07-25T07:06Z"
        sUTC = Mid (oDate(1), 20, 16)
        oUTC = Split (sUTC, "T")
        GetTimeUTC = oUTC(0) & " " & oUTC(1)
End Function

Mes 2 cts
OpenOffice 4.1.7 Windows 7 Edition Professional
Avatar de l’utilisateur
CanadaDry
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 169
Inscrit le : 25 Nov 2014 15:09
Localisation : Laval, QC

Re: [Résolu][Basic] Obtenir l'heure UTC

Messagepar OOotremer971 » 26 Juil 2019 03:01

CanadaDry a écrit:Voici le source code final:

Que tu peux encore simplifier (pour le fun) :
Code : Tout sélectionner   AgrandirRéduire
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
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2352
Inscrit le : 16 Avr 2010 14:31


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)