Я пытаюсь сделать некоторые вычисления по дате, у меня есть объект timedelta
, и я хочу чтобы получить количество секунд. Кажется, dt.total_seconds()
делает именно то, что мне нужно, но, к сожалению, он был представлен в Python 2.7, а я застрял на более старой версии.
Если я прочитал официальную документацию , там указано следующее:
Вернуть общее количество секунд, содержащихся в длительности. Эквивалентно (td.microseconds + (td.seconds + td.days *24 *3600)*10 **6 )/ 10 **6 вычислено с истинным деление разрешено .
И после просмотра исходного кода модуля datetime
(в C )я вижу что-то вроде этого:
total_seconds = PyNumber_TrueDivide(total_microseconds, one_million);
Таким образом, хотя вычисление total_seconds()
кажется тривиальным, это заставляет меня задаться вопросом, что это за истинное деление на самом деле означает.Не нашел информации по теме. Что произойдет, если я просто использую обычное деление, зачем нам нужно это истинное деление и что оно делает? Могу ли я просто написать total_seconds()
на Python с эквивалентом, указанным в документе?