624 votes

Timestamp Python

En Python, comment utiliser `` module et réussi à retourner une heure après l’heure du système ? Comment pour régler l’heure en UTC ?

855voto

squiguy Points 8615

Le `` fonction retourne le nombre de secondes depuis l’époque secondes en heure UTC.

Voici quelques exemple de sortie j’ai couru sur mon ordinateur, convertissant en une chaîne aussi bien.

Le variable est le temps retourné en quelques secondes. J’ai ensuite converti en une chaîne à l’aide du bibliothèque, ce qui en fait une chaîne humaine lisible.

324voto

pepr Points 4263

Si la question est exprimée par le titre, vous pouvez obtenir le timestamp comme une chaîne de caractères à l'aide de l' .now() ou .utcnow() de la datetime.datetime:

>>> import datetime
>>> print datetime.datetime.utcnow()
2012-12-15 10:14:51.898000

L' now diffère utcnow comme prévu, sinon ils fonctionnent de la même façon:

>>> print datetime.datetime.now()
2012-12-15 11:15:09.205000

Vous pouvez afficher l'horodatage de la chaîne explicitement:

>>> str(datetime.datetime.now())
'2012-12-15 11:15:24.984000'

Ou vous pouvez être encore plus explicite pour le format de l'horodatage de la façon dont vous le souhaitez:

>>> datetime.datetime.now().strftime("%A, %d. %B %Y %I:%M%p")
'Saturday, 15. December 2012 11:19AM'

Si vous voulez le format ISO, utiliser l' .isoformat() méthode de l'objet:

>>> datetime.datetime.now().isoformat()
'2013-11-18T08:18:31.809000'

149voto

Rudi Strydom Points 522

Basé sur la réponse de #squiguy, pour obtenir un horodatage vrai que j’ai tapez effectuer un cast du flotteur.

Au moins c’est le concept.

31voto

J.F. Sebastian Points 102961

La réponse ne peut être ni ou les deux.

  • ni: time.time() retourne environ le nombre de secondes écoulées depuis l'Époque. Le résultat ne dépend pas de fuseau horaire de sorte qu'il n'est ni UTC ni l'heure locale. Voici POSIX définition de "Secondes Depuis l'Epoch".

  • les deux: time.time() n'a pas besoin de votre horloge du système à être synchronisées de sorte qu'il reflète sa valeur (si elle n'a rien à voir avec fuseau horaire local). Différents ordinateurs peuvent obtenir des résultats différents en même temps. D'autre part, si votre ordinateur le temps est synchronisé, alors il est facile d'obtenir de l'heure UTC de l'horodatage (si l'on ignore les secondes intercalaires):

    from datetime import datetime
    
    utc_dt = datetime.utcfromtimestamp(timestamp)
    

Sur la façon d'obtenir les horodatages de l'heure UTC dans les différentes versions de Python, consultez Comment puis-je obtenir une date convertie en secondes depuis epoch selon l'UTC?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X