Is there a built-in method for converting a date to a datetime in Python, for example getting the datetime for the midnight of the given date? The opposite conversion is easy: datetime has a .date() method.
Do I really have to manually call datetime(d.year, d.month, d.day)?
You can use
datetime.combine(date, time); for the time, you create adatetime.timeobject initialized to midnight.