В Python, как отображать текущее время в читаемом формате


94

Как я могу отобразить текущее время как:

12:18PM EST on Oct 18, 2010

в Python. Спасибо.


6
Извините, я подумал, что было бы полезно расширить базу вопросов и ответов на сайте. Раньше такого вопроса не задавали.
ловушка

1
@ensnare: Кажется, каждый из них уже отвечает на этот вопрос: stackoverflow.com/search?q=%5Bpython%5D+time+format . Вы хотите сказать, что в вашем вопросе есть что-то особенное? Если да, то что делает ваш вопрос уникальным?
S.Lott


2
@ S.Lott, прошу прощения, я не видел ту последнюю ссылку.
ловушка

4
@ensnare Не извиняйся, дружище, ТАК это TFM! Почти каждый вопрос и ответ имеют тонкие и ценные отличия. Чем больше вопросов, тем лучше.
Croc

Ответы:


100

Во-первых, быстрый и грязный способ, а во-вторых, точный способ (с учетом летнего времени или нет).

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'

4
%zпроизводит смещение, например -0400. %Zдает вам название текущего часового пояса (или аббревиатуру) автоматически. Python не поддерживает %l, вы можете использовать %Iвместо этого.
jfs

1
% Z дает мне "Восточный часовой пояс", как я могу получить аббревиатуру "est" или "EST"
NULL Dude




3

Используя этот код, вы получите свой часовой пояс в реальном времени.

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

2

Взгляните на возможности, предоставляемые timeмодулем

У вас есть несколько функций преобразования.

Изменить: см. datetimeМодуль для получения дополнительных решений, подобных ООП. timeБиблиотека связана выше своего рода императивом.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.