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


Я:

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

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

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

4 88

4 ответа:

можно использовать strftime:

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

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

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

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

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

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

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

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

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