Como converter um python datetime.datetime para excel número de data de série

Preciso converter datas em números de série do Excel para um script de substituição de dados que estou escrevendo. Ao jogar com datas na minha pasta de trabalho OpenOffice Calc, pude deduzir que '1 de janeiro de 1899 00:00:00' é mapeado para o número zer

Eu escrevi a seguinte função para converter de um objeto de data e hora python em um número de série do Excel:

def excel_date(date1):
    temp=dt.datetime.strptime('18990101', '%Y%m%d')
    delta=date1-temp
    total_seconds = delta.days * 86400 + delta.seconds
    return total_seconds

No entanto, quando tento algumas datas de amostra, os números são diferentes daqueles que recebo quando formato a data como um número no Excel (também OpenOffice Calc). Por exemplo, o teste '20-03-2009' fornece 3478032000 em Python, enquanto o Excel renderiza o número de série como 39892.

O que há de errado com a fórmula acima?

* Nota: Estou usando o Python 2.6.3, portanto, não tenho acesso a datetime.total_seconds ()

questionAnswers(8)

yourAnswerToTheQuestion