推特ID是按时间排序的。根据推特文档,完整的ID由时间戳、工作器编号和序列号组成。所以基本上ID的第一部分是时间戳,因此可以按时间排序。(但我不确定Twitter使用了多少位来表示时间戳)。
推特ID在一秒内是按k排序的。我们可以通过将推特ID向右移动22位并加上Twitter纪元时间1288834974657来提取推特ID的时间戳。
获取推特ID的UTC时间戳的Python代码
def get_tweet_timestamp(tid):
offset = 1288834974657
tstamp = (tid >> 22) + offset
utcdttime = datetime.utcfromtimestamp(tstamp/1000)
print(str(tid) + " : " + str(tstamp) + " => " + str(utcdttime))