web-dev-qa-db-fra.com

Différence entre les modules Python datetime vs time

J'essaie de comprendre les différences entre les modules datetime et time, et à quoi chacun doit être utilisé.

Je sais que datetime fournit à la fois des dates et des heures. À quoi sert le module time?

Des exemples seraient appréciés et les différences concernant les fuseaux horaires seraient particulièrement intéressantes.

107
myusuf3

le module time est principalement destiné à travailler avec des horodatages Unix; exprimé comme un nombre à virgule flottante pris pour être secondes depuis l'époque unix. le module datetime peut prendre en charge la plupart des mêmes opérations, mais fournit un ensemble de types plus orienté objet et a également une prise en charge limitée des fuseaux horaires.

82

Restez sur time pour éviter toute ambiguïté DST.

Utilisez exclusivement le module système time au lieu du module datetime pour éviter les problèmes d'ambiguïté avec l'heure d'été (DST) .

La conversion vers n'importe quel format d'heure, y compris l'heure locale, est assez simple:

import time
t = time.time()

time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'

time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'

time.time() est un nombre à virgule flottante représentant le temps en secondes depuis l'époque du système. time.time() est idéal pour un horodatage sans ambiguïté.

Si le système exécute en outre le protocole de temps réseau (NTP) dæmon, on se retrouve avec une base de temps assez solide.

Voici la documentation du module time.

5
Serge Stroobandt

Le module de temps peut être utilisé lorsque vous avez juste besoin de l'heure d'un enregistrement particulier - comme disons que vous avez une table/un fichier séparé pour les transactions pour chaque jour, alors vous aurez juste besoin du temps. Cependant, le type de données de temps est généralement utilisé pour stocker le temps différence entre 2 points de temps.

Cela peut également être fait en utilisant datetime, mais si nous ne traitons que l'heure d'un jour particulier, alors le module de temps peut être utilisé.

Datetime est utilisé pour stocker une donnée particulière et l'heure pour un enregistrement. Comme dans une agence de location. La date d'échéance serait un type de données datetime.

5
Jan S

Si vous êtes intéressé par les fuseaux horaires, vous devriez envisager l'utilisation de pytz.

4
donkopotamus