2015-07-09 2 views
-5

Как я могу получить объект date (NOT datetime) из класса datetime в формате %m/%d/%y?Восстановить объект даты из datetime.date в определенном формате

+1

Ваш вопрос очень неясно. Можете ли вы добавить [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) о том, что вы хотите сделать, или код, который вы пробовали до сих пор, потому что SO не является службой записи кода ! – Kasramvd

ответ

2

Вы бы просто форматировать 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' 
+0

вчера = datetime.datetime.now() - datetime.timedelta (1) вчера = вчера.strftime ('% m /% d /% y') вчера = вчера.date() –

+1

@RahulAhuja: почему ты пытаясь вызвать '.date()' в форматированной строке? Выберите один или другой, либо вы получите форматированную строку, ** или ** вы получите объект даты. –

+0

Ваш код возвращает строку наконец, я хочу объект даты –