Получение сегодняшней даты в гггг-ММ-ДД в Python?

Я:

str(datetime.datetime.today()).split()[0]

вернуть сегодняшнюю дату в форме ГГГГ-ММ-ДД.

есть ли менее грубый способ достичь этого?

4 ответов


можно использовать функцию strftime:

datetime.datetime.today().strftime('%Y-%m-%d')

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

>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'

этот модуль достаточно умен, чтобы понять, что вы mean.

просто делать pip install arrow.


есть еще более простой способ, чем принятый ответ; действителен как для Python 2 & 3.

from datetime import date
today = str(date.today())
print(today)   # '2017-12-26'

Я предпочитаю этот. (потому что это просто. но, может быть, как-то неэффективно и глючно. Вы должны проверить код выхода команды shell, если хотите очень сильно программа защиты от ошибок.)

os.system('date +%Y-%m-%d')