Используйте метод timetuple
или utctimetuple
, чтобы получить кортеж времени и преобразовать его в метку времени, используя time.mktime
>>> import datetime
>>> dt = datetime.datetime(2011, 12, 13, 10, 23)
>>> import time
>>> time.mktime(dt.timetuple())
1323793380.0
С этим связана хорошая ошибка http://bugs.python.org/issue2736, это интересное чтение, и любой, кто пытается преобразовать его в метку времени, должен прочитать это. В соответствии с этим потоком правильный путь
timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)