2013-03-27 2 views
6

В Python, я конвертировать date в datetime по:Python: самый эффективный способ для преобразования даты в дату

  1. преобразование из date в string
  2. преобразования из string в datetime

код :

import datetime 
dt_format="%d%m%Y" 
my_date = datetime.date.today() 
datetime.datetime.strptime(my_date.strftime(dt_format), dt_format) 

Я подозреваю, что это далеко не самый эффективный способ сделать это. Каков наиболее эффективный способ преобразования даты в datetime в Python?

ответ

18

Использование datetime.datetime.combine() с объектом времени, datetime.time.min представляет 00:00 и будет соответствовать выходу вашего дата-строка-дата и время пути:

datetime.datetime.combine(my_date, datetime.time.min) 

Демо:

>>> import datetime 
>>> my_date = datetime.date.today() 
>>> datetime.datetime.combine(my_date, datetime.time.min) 
datetime.datetime(2013, 3, 27, 0, 0) 
4

В качестве альтернативы, как это было предложено here, это может быть более читаемым:

datetime(date.year, date.month, date.day)