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

Не знаю, ищет ли кто-нибудь это. У меня такая же проблема. Выбор в запросе, а затем выполнение того, где (или объединение) и использование переменной выбора разрешили проблему для меня. (проблема была в коллекции «Reintegraties» для меня)

query.Select(zv => new
            {
                zv,
                rId = zv.this.Reintegraties.FirstOrDefault().Id
            })
            .Where(x => !db.Taken.Any(t => t.HoortBijEntiteitId == x.rId
                                             && t.HoortBijEntiteitType == EntiteitType.Reintegratie
                                             && t.Type == TaakType))
            .Select(x => x.zv);

надеюсь, что это кому-то поможет.

14
задан Bjorn 1 February 2009 в 03:59
поделиться

4 ответа

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

21
ответ дан 1 December 2019 в 06:31
поделиться

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

total_seconds = delta.days * 86400 + delta.seconds

нет, Вы не "пропавшие без вести чего-то". Это не обеспечивает дельты в секундах.

15
ответ дан 1 December 2019 в 06:31
поделиться

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

Затем plain-old-unix-timestamp в соответствии с модулем 'времени' может быть больше к Вашему вкусу.

я лично должен все же быть убежден большим количеством из того, что находится в 'дате и времени'.

5
ответ дан 1 December 2019 в 06:31
поделиться

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

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

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

5
ответ дан 1 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: