Joseph Victor Zammit Joseph Victor Zammit - 9 days ago 7
Python Question

Python: most efficient way to convert date to datetime

In Python, I convert a

date
to
datetime
by:


  1. converting from
    date
    to
    string

  2. converting from
    string
    to
    datetime



Code:

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


I suspect this is far from the most efficient way to do this. What is the most efficient way to convert a date to datetime in Python?

Answer

Use datetime.datetime.combine() with a time object, datetime.time.min represents 00:00 and would match the output of your date-string-datetime path:

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

Demo:

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