Converta um objeto datetime.date em um objeto datetime.datetime com zeros para quaisquer atributos de tempo ausentes

Existe uma função interna que converte um objeto datetime.date em um objeto datetime.datetime com 0s para o material ausente? Por exemplo, suponha

tdate = datetime.date(2012,1,31)

Eu quero escrever algo como qualquer um desses

tdatetime = datetime.date.datetime()
tdatetime = datetime.datetime(tdate)

e eu quero que a saída seja

datetime.datetime(2012, 1, 31, 0, 0)

Mas nem funciona.Há uma função interna para ir de datetime.datetime a datetime.date, mas estou procurando a operação inversa.

Uma solução muito ruim seria escrever:

datetime.datetime(tdate.year(), tdate.month(), tdate.day(), 0, 0)

Eu especificamente quero evitar essa maneira ruim de fazer isso.

Eu já escrevi minha própria pequena função para fazer isso, mas acho que deve ser fornecido no módulo. Está sobrecarregando algumas importações em todo o sistema para usar minha função. É viável, não é muito pitonico.

Estou apenas perguntando se alguém sabe se existe uma maneira eficiente de fazer isso usando apenas as funções do módulo datetime.

questionAnswers(1)

yourAnswerToTheQuestion