Python timedelta: не могу ли я просто войти в какое-то время, я хочу получить значение всей разницы? - программирование
Подтвердить что ты не робот

Python timedelta: не могу ли я просто войти в какое-то время, я хочу получить значение всей разницы?

Я пытаюсь провести несколько умных дат с тех пор, как сообщение было сделано на моем сайте ( "секунды с тех пор, с тех пор, через несколько недель и т.д." ), и я использую datetime.timedelta разницу между utcnow и utc хранится в базе данных для сообщения.

Похоже, согласно документам, мне нужно использовать атрибут days и атрибут seconds, чтобы получить нужные строки даты.

Разве я не могу получить какое-то время, я хочу, чтобы значение всей разницы? Я что-то упускаю?

Было бы идеально, если бы я мог получить всю разницу в секундах.

4b9b3361

Ответ 1

Кажется, что Python 2.7 внедрил метод total_seconds(), который, как вы ищите, я считаю!

Ответ 2

Вы можете вычислить разницу в секундах.

total_seconds = delta.days * 86400 + delta.seconds

Нет, ты не "пропустил что-то". Он не обеспечивает дельта в секундах.

Ответ 3

Было бы идеально, если бы я мог получить всю разницу в секундах.

Тогда простая старая-unix-метка времени, предоставленная модулем "время", может быть больше по вашему вкусу.

Мне лично еще предстоит убедиться в том, что в "datetime".

Ответ 4

Как сказал bobince, вы можете использовать временные метки, например:

# assuming ts1 and ts2 are the two datetime objects
from time import mktime
mktime(ts1.timetuple()) - mktime(ts2.timetuple())

Хотя я бы подумал, что это даже уродливее, чем просто вычисление секунд из объекта timedelta...