Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
temps_par_sntp [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


temps_par_sntp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
temps_par_sntp [2008/02/16 09:13]
tyrtamos
temps_par_sntp [2008/03/15 09:06]
tyrtamos
Ligne 15: Ligne 15:
 Il a fallu calculer le nombre de secondes (=2208988800) qui sépare le 1/1/1970 (=référence Python), du 1/1/1900 (=référence service ntp). Il a fallu calculer le nombre de secondes (=2208988800) qui sépare le 1/1/1970 (=référence Python), du 1/1/1900 (=référence service ntp).
  
-L'importation du module "locale" permet d'avoir la date en français.+L'importation du module "locale" accompagné de la commande suivante permet d'avoir la date en français:
  
-Le module "struc" permet de retrouver les infos dans le paquet UDP reçu.+<code python> 
 +locale.setlocale(locale.LC_TIME,''
 +</code> 
 + 
 +J'ai cependant pu remarquer que toutes les machines ne nécessitaient pas la même configuration. Certaines demandent 'fr_FR' au lieu de la chaine vide pour avoir la date en français. Et d'autres donnent une erreur avec cette valeur.  
 + 
 +Le module "struct" permet de retrouver les infos dans le paquet UDP reçu.
  
 <code python> <code python>
Ligne 23: Ligne 29:
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
  
-import locale +import socket
-import time +
-from socket import *+
 import struct import struct
 +import time
 +
 +import locale
 +locale.setlocale(locale.LC_TIME,'')
  
 def tempsntp(sntp='ntp.univ-lyon1.fr'): def tempsntp(sntp='ntp.univ-lyon1.fr'):
Ligne 34: Ligne 42:
     buffer=1024     buffer=1024
     # initialisation d'une connexion UDP     # initialisation d'une connexion UDP
-    client=socket(AF_INET, SOCK_DGRAM)+    client=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     # envoie de la requête UDP     # envoie de la requête UDP
     data='\x1b' + 47 * '\0'     data='\x1b' + 47 * '\0'
Ligne 44: Ligne 52:
         tps -= temps19701900         tps -= temps19701900
         t=time.localtime(tps)         t=time.localtime(tps)
-        ch=jsem[t[6]]+' '+str(t[2])+'/'+str(t[1])+'/'+str(t[0])+' '+str(t[3])+':'+str(t[4])+':'+str(t[5])+        ch=jsem[t[6]]+' '+str(t[2]).zfill(2)+'/'+str(t[1]).zfill(2)+'/'+str(t[0]).zfill(4)+
 +            ' '+str(t[3]).zfill(2)+':'+str(t[4]).zfill(2)+':'+str(t[5]).zfill(2)
         return ch         return ch
     else:     else:
Ligne 50: Ligne 59:
  
 # Exemple d'utilisation: # Exemple d'utilisation:
-print tempsntp()+print tempsntp()  # affiche la date et l'heure comme "samedi 15/03/2008 09:03:49"
 </code> </code>
  
temps_par_sntp.txt · Dernière modification: 2008/04/12 08:45 de tyrtamos