pat*_*ick 4 python datetime timestamp facebook-messenger facebook-messenger-bot
如果事实证明这是一个非常愚蠢的问题,我深表歉意。我正在通过 Facebook Messenger API读取消息对象,使用 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"]
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用datetime( docs )将结果转换为人类可读的日期格式,认为这是一个 Unix 时间戳,但它返回一个ValueError: year is out of range。
import datetime
datetime.datetime.fromtimestamp(int(ts)))
Run Code Online (Sandbox Code Playgroud)
现在结果是特定消息的时间戳为1504129573859,这是将来的,当我在这里检查时。
当我向它提供文档中给出的时间戳(上面的链接)时会发生同样的错误,即1458692752478,所以我认为这不是我的输入解析问题。我在此处或 FB 文档上找不到任何有关此内容的信息,非常感谢您的帮助!
这是哪种时间格式,如何将其转换为datetime对象?
还是我的方法/想法有问题?
您可以首先将 fb 的时间戳转换为 python 时间戳:
import datetime
datetime.datetime.fromtimestamp(ts/1000.0)
Run Code Online (Sandbox Code Playgroud)