Em Python, como exibir a hora atual em formato legível

94

Como posso exibir a hora atual como:

12:18PM EST on Oct 18, 2010

em Python. Obrigado.

enredar
fonte
5
Desculpe, achei que seria útil ampliar o banco de dados de perguntas e respostas do site. Nenhuma pergunta havia sido feita antes.
ensnare
@ensnare: Cada um deles parece já responder a esta pergunta: stackoverflow.com/search?q=%5Bpython%5D+time+format . Você está sugerindo que há algo diferente em sua pergunta? Em caso afirmativo, o que torna sua pergunta única?
S.Lott,
1
possível duplicata de Python: formatação de data, hora
S.Lott
1
@ S.Lott, peço desculpas, não vi esse último link.
ensnare
3
@ensnare Não se desculpe amigo, ASSIM é TFM! Quase todas as perguntas e respostas têm diferenças sutis e valiosas. Quanto mais perguntas, melhor.
croc

Respostas:

97

Primeiro a maneira rápida e suja, e depois a maneira precisa (reconhecendo o horário de verão ou não).

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
fonte
3
%zproduz deslocamento, por exemplo -0400,. %Zfornece o nome do fuso horário atual (ou abreviação) automaticamente. Python não suporta %l, você pode usar no %Ilugar.
jfs
% Z me dá o "Fuso Horário do Leste", como posso obter a abreviatura de 'est' ou 'EST'
NULL
40

Tudo que você precisa está na documentação .

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

Você poderia fazer algo como:

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

O documento completo sobre os códigos% está em http://docs.python.org/library/time.html

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

Isso pode ser útil: http://strftime.org/

Razão de Bill
fonte
3

Ao usar este código, você obterá seu fuso horário ao vivo.

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

Dê uma olhada nas instalações fornecidas por http://docs.python.org/library/time.html

Você tem várias funções de conversão lá.

Editar: consulte datetime(http://docs.python.org/library/datetime.html#module-datetime) também para mais soluções semelhantes a OOP. A timebiblioteca vinculada acima é imperativa.

Slezica
fonte