En Python, comment afficher l'heure actuelle dans un format lisible

94

Comment puis-je afficher l'heure actuelle sous la forme:

12:18PM EST on Oct 18, 2010

en Python. Merci.

piéger
la source
5
Désolé, j'ai pensé qu'il serait utile d'étendre la base de données de questions et réponses sur le site. Aucune question de ce genre n'avait été posée auparavant.
piéger
@ensnare: Chacun de ces éléments semble déjà répondre à cette question: stackoverflow.com/search?q=%5Bpython%5D+time+format . Êtes-vous en train de dire qu'il y a quelque chose de particulier dans votre question? Si oui, qu'est-ce qui rend votre question unique?
S.Lott
1
duplication possible de Python: mise en forme de la date, de l'heure
S.Lott
1
@ S.Lott, je m'excuse, je n'ai pas vu ce dernier lien.
piéger
3
@ensnare Ne vous excusez pas mon pote, TFM aussi! Presque toutes les questions et réponses présentent des différences subtiles et précieuses. Plus il y a de questions, mieux c'est.
croc

Réponses:

97

D'abord le moyen rapide et sale, et ensuite le chemin précis (en reconnaissant les économies de jour ou non).

import time
time.ctime() # 'Mon Oct 18 13:35:29 2010'
time.strftime('%l:%M%p %Z on %b %d, %Y') # ' 1:36PM EDT on Oct 18, 2010'
time.strftime('%l:%M%p %z on %b %d, %Y') # ' 1:36PM EST on Oct 18, 2010'
dr jimbob
la source
3
%zproduit des compenser par exemple -0400. %Zvous donne automatiquement le nom du fuseau horaire actuel (ou une abréviation). Python ne prend pas en charge %l, vous pouvez utiliser à la %Iplace.
jfs
% Z me donne "Fuseau horaire de l'Est" comment puis-je obtenir l'abréviation de "est" ou "EST"
NULL.Dude
40

Tout ce dont vous avez besoin est dans la documentation .

import time
time.strftime('%X %x %Z')
'16:08:12 05/08/03 AEST'
Aif
la source
6

Vous pouvez faire quelque chose comme:

>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
'Thu, 28 Jun 2001 14:17:15 +0000'

La documentation complète sur les codes% est à http://docs.python.org/library/time.html

Thomas Ahle
la source
4
import time
time.strftime('%H:%M%p %Z on %b %d, %Y')

Cela peut être utile: http://strftime.org/

Bill Raison
la source
3

En utilisant ce code, vous obtiendrez votre fuseau horaire en direct.

import datetime
now = datetime.datetime.now()
print ("Current date and time : ")
print (now.strftime("%Y-%m-%d %H:%M:%S"))
Muneer Ahmad
la source
1

Jetez un œil aux fonctionnalités fournies par http://docs.python.org/library/time.html

Vous disposez de plusieurs fonctions de conversion.

Edit: voir datetime(http://docs.python.org/library/datetime.html#module-datetime) également pour plus de solutions de type POO. La timebibliothèque liée ci-dessus est un peu impérative.

slezica
la source