Как мне получить строковый формат текущей даты и времени в Python?

113

Например, 5 июля 2010 г. я хотел бы вычислить строку

 July 5, 2010

Как это сделать?

TIMEX
источник

Ответы:

227

Вы можете использовать datetimeмодуль для работы с датой и временем в Python. Этот strftimeметод позволяет создавать строковое представление даты и времени в указанном вами формате.

>>> import datetime
>>> datetime.date.today().strftime("%B %d, %Y")
'July 23, 2010'
>>> datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
'10:36AM on July 23, 2010'
Дэйв Уэбб
источник
34
#python3

import datetime
print(
    '1: test-{date:%Y-%m-%d_%H:%M:%S}.txt'.format( date=datetime.datetime.now() )
    )

d = datetime.datetime.now()
print( "2a: {:%B %d, %Y}".format(d))

# see the f" to tell python this is a f string, no .format
print(f"2b: {d:%B %d, %Y}")

print(f"3: Today is {datetime.datetime.now():%Y-%m-%d} yay")

1: test-2018-02-14_16: 40: 52.txt

2а: 4 марта 2018 г.

2b: 4 марта 2018 г.

3: Сегодня 2018-11-11 гг.


Описание:

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

Затем вместо того, чтобы просто отображать необработанное значение как {}, используйте форматирование для получения правильного формата даты.

https://docs.python.org/3/library/string.html#formatexamples

Pieter
источник
Ваш ответ был отмечен как низкокачественный, так как он содержит только код. Попытайтесь объяснить свой ответ более подробно.
Дерек Браун
1
Вероятно, лучший ответ.
nulltron
что fзначит в print(f"3?
Лэй Ян
@ lei-yang вот объяснение: realpython.com/python-f-strings он отмечает строку как строку f, а затем python ищет {} с кодом / переменными в ней и помещает содержимое в строку. Это последнее дополнение к форматированию строк в python3.6
Питер,
Внизу страницы https://docs.python.org/3/library/datetime.html перечислены похожие заполнители %Bи то, что они представляют.
Джеймс Туми
24
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%B %d, %Y")
'July 23, 2010'
Пэр Вислендер
источник
6

Если вас не волнует форматирование и вам просто нужно немного времени, вы можете использовать это:

import time
print(time.ctime())
объем
источник