如何转换 Facebook "Message" 对象的时间戳

How do I convert the timestamp of Facebook "Message" object

如果这是一个非常愚蠢的问题,我深表歉意。我正在通过 Facebook Messenger API 阅读 message object,在 Python 中使用 Flask。

我先在读入JSON对象后提取时间戳

# read the JSON from Flask "request" object    
input_json = request.get_json() 
# extract the timestamp
ts = input_json["entry"][0]["messaging"][0]["timestamp"]

然后我尝试使用 datetime (docs) 将结果转换为人类可读的日期格式,认为这是一个 Unix 时间戳,但它 returns 一个 ValueError:年份超出范围

import datetime
datetime.datetime.fromtimestamp(int(ts)))

现在发现特定消息有一个时间戳 1504129573859,这是在将来,当我检查时here.

当我向它提供文档中给出的时间戳(上面的 link)时,会发生同样的错误,即 1458692752478 所以我认为这不是我的问题输入解析。我在这里或 FB 文档上找不到任何相关信息,非常感谢您的帮助!

你可以先将fb的时间戳转换成python时间戳:

import datetime
datetime.datetime.fromtimestamp(ts/1000.0)