2016-06-21 10 views
1

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

import datetime 
import praw 

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

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

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

ответ

2

Существует специальная функция, которая вернет время эпохи 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)) 

 Смежные вопросы

  • Нет связанных вопросов^_^