Для особой даты 1 января 1970 года существует несколько опций.
Для любой другой начальной даты вам нужно получить разницу между двумя датами в секундах.Вычитание двух дат дает объект timedelta
, который с Python 2.7 имеет функцию total_seconds()
.
>>> (t-datetime.datetime(1970,1,1)).total_seconds()
1256083200.0
Начальная дата обычно указывается в UTC, поэтому для правильных результатов datetime
, который вы вводитев этой формуле должно быть также в UTC.Если ваш datetime
еще не в UTC, вам необходимо преобразовать его перед использованием или прикрепить класс tzinfo
, который имеет правильное смещение.
Как отмечено в комментариях, еслиу вас есть tzinfo
, прикрепленный к вашему datetime
, тогда он вам понадобится и на начальную дату, иначе вычитание не удастся;для приведенного выше примера я бы добавил tzinfo=pytz.utc
при использовании Python 2 или tzinfo=timezone.utc
при использовании Python 3.