问题
In Python, I convert a date
to datetime
by:
- converting from
date
tostring
- converting from
string
todatetime
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?
回答1:
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)
回答2:
Alternatively, as suggested here, this might be more readable:
datetime(date.year, date.month, date.day)
来源:https://stackoverflow.com/questions/15661013/python-most-efficient-way-to-convert-date-to-datetime