Как я могу получить объект date
(NOT datetime
) из класса datetime
в формате %m/%d/%y
?Восстановить объект даты из datetime.date в определенном формате
ответ
Вы бы просто форматировать datetime
с этим форматом, используя datetime.datetime.strftime()
method:
date_string = dt.strftime('%m/%d/%y')
Вы не имеют использовать компоненты времени на всех при форматировании строки.
Если вы хотите дату объект (а datetime.date()
экземпляра), вызовите datetime.datetime.date()
method:
date_object = dt.date()
Обратите внимание, что datetime.date()
экземпляры поддерживают string formatting too.
Демо:
>>> from datetime import datetime
>>> dt = datetime.now()
>>> dt.strftime('%m/%d/%y')
'07/09/15'
>>> dt.date()
datetime.date(2015, 7, 9)
>>> dt.date().strftime('%m/%d/%y')
'07/09/15'
вчера = datetime.datetime.now() - datetime.timedelta (1) вчера = вчера.strftime ('% m /% d /% y') вчера = вчера.date() –
@RahulAhuja: почему ты пытаясь вызвать '.date()' в форматированной строке? Выберите один или другой, либо вы получите форматированную строку, ** или ** вы получите объект даты. –
Ваш код возвращает строку наконец, я хочу объект даты –
Ваш вопрос очень неясно. Можете ли вы добавить [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) о том, что вы хотите сделать, или код, который вы пробовали до сих пор, потому что SO не является службой записи кода ! – Kasramvd