如何转换 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 文档上找不到任何相关信息,非常感谢您的帮助!
这是什么时间格式,如何将其转换为datetime
对象?
还是我的做法/思路有问题?
你可以先将fb的时间戳转换成python时间戳:
import datetime
datetime.datetime.fromtimestamp(ts/1000.0)
如果这是一个非常愚蠢的问题,我深表歉意。我正在通过 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 文档上找不到任何相关信息,非常感谢您的帮助!
这是什么时间格式,如何将其转换为
datetime
对象?还是我的做法/思路有问题?
你可以先将fb的时间戳转换成python时间戳:
import datetime
datetime.datetime.fromtimestamp(ts/1000.0)