Python - Как рассчитать время, прошедшее с даты X?

У меня есть таблица базы данных со статьями, и у каждой из этих статей есть дата отправки. Мне нужно рассчитать дни и часы с момента публикации статьи в базе данных, например:

This article has been published 4 hours ago.
This article has been published 3 days and 4 hours ago.

Уже есть код, который я могу использовать для этого? Я искал в Google, но, возможно, я не использую правильные слова.

Любая подсказка, которая может мне помочь?

С уважением,

2 ответа

Решение

Посмотрите на datetime пакет, в нем есть все необходимое.

когда вы вычитаете одну дату из другой, вы получаете timedelta объект. Ты можешь использовать total_seconds() чтобы получить длительность в секундах и использовать деление, чтобы преобразовать ее в часы и дни. Тогда ваша единственная задача - отформатировать ее в читаемую строку.

Я бы преобразовал отправленную дату в datetime, затем используйте что-то вроде https://gist.github.com/207624 для преобразования datetime в гуманизированную строку.

Другие вопросы по тегам