Как получить время с момента публикации сообщения на praw

Я пишу бота, используя praw, и хочу знать, сколько времени прошло с момента публикации сообщения. Наивное решение - использовать datetime

import datetime
import praw

... """read a list of submission"""

date = datetime.datetime.fromtimestamp(submission.created)
dif = datetime.datetime.now() - date

Но я получаю отрицательные отметки времени. Думаю, мне нужно учитывать часовой пояс Reddit, как мне это сделать?


person Yotam    schedule 21.06.2016    source источник


Ответы (1)


Существует специальная функция, которая возвращает время эпохи utc.

import datetime
import praw

... #stuff

date = datetime.datetime.fromtimestamp(submission.created_utc)
dif = datetime.datetime.utcnow() - date

utcnow() возвращает ваше текущее время в том виде, в котором оно отображается в универсальном времени. То же самое с submit.created_utc

Для дальнейшего использования вы можете динамически проверять, какие функции/переменные доступны в каждом объекте praw (это намного надежнее, чем документация).

from pprint import pprint
object = ... #any praw object like praw.Reddit praw.Submission praw.Comment etc
pprint(dir(object))
pprint(vars(object))
person Tomasz Plaskota    schedule 05.07.2016