WEIR

免费工具

推文 ID 转日期

粘贴一条 X(推特)推文的链接或 ID,就能看到它精确的发布时间。不调用 API,也不用注册账号。

ID 20 不含时间戳。它早于 X 的 Snowflake ID:推文从 2010 年 11 月起才用这种 ID,账号从 2016 年起。X 的第一条推文 ID 是 20,发布于 2006 年 3 月 21 日。

推文 ID 怎么换算成时间

X 的推文 ID 是一个 64 位的 Snowflake ID:高位是毫秒级时间戳,后面跟着机器编号和序列号。换算公式是 (id >> 22) + 1288834974657,得到的是毫秒级 Unix 时间。

同样的算法也能按时间给推文排序,或者配合 sinceId 和 untilId 按时间翻页搜索。想查一个账号是什么时候注册的,见 怎么查推特账号的注册时间(英文)。

UTC、北京时间和推特搜索

工具同时给出 UTC 时间和你所在时区的时间。电脑或手机的时区设为北京时间时,“你所在的时区”一栏就是北京时间。用这个时间去推特上搜索,要注意两点:

这些条件可以交给 推特高级搜索生成器,拼成完整的搜索语句。

需要推文的完整内容?

正文、作者、点赞数和回复,Weir 的 API 用同一个 ID 就能取到:每次调用 1 积分,每返回一条推文再加 1 积分,每月有 5,000 免费积分。

具体写法见 用 Python 获取推特数据,和官方 API 的对比见 推特 API 替代方案。更多小工具在 免费推特工具 页。

常见问题

推文 ID 为什么能看出发布时间?

从 2010 年 11 月起,X 的推文 ID 都是 Snowflake ID,前 41 位是从 X 纪元(2010 年 11 月 4 日)起算的毫秒数,右移 22 位再加上纪元就是发布时间。更早的推文 ID 是顺序编号,不含时间。

能查推特账号的注册时间吗?

可以,限 2016 年以后注册、ID 有 18 或 19 位数字的账号,结果就是账号的创建时间。更早的账号 ID 较短,是顺序编号,不含日期,只能看主页上显示的加入年月。

显示的是北京时间吗?

不一定。“UTC 时间”一栏始终是 UTC;“你所在的时区”一栏按你电脑或手机设置的时区显示,设为北京时间就是北京时间。在推特搜索里用 since: 和 until: 时,以 UTC 那一栏的日期为准。

我输入的内容会上传吗?

不会。换算完全在你的浏览器里完成,不调用任何 API,也不用登录推特,粘贴的链接和 ID 都不会发送到服务器。

能用日期反推推文 ID 吗?

可以,得到的是一个下限:用毫秒级 Unix 时间减去 X 的纪元 1288834974657,再左移 22 位。之后发的推文 ID 都比它大,sinceId 和 untilId 就是这样按时间圈定搜索范围的。