工具介绍
根据 Discord 关于消息格式的官方开发者文档,Discord 时间戳标签的形式为 <t:TIMESTAMP:STYLE>,其中 TIMESTAMP 是一个 Unix 时间戳(自 1970 年 1 月 1 日 UTC 起经过的整秒数),STYLE 是控制显示方式的七个单字母代码之一:t(短时间)、T(长时间)、d(短日期)、D(长日期)、f(短日期/时间——省略 STYLE 时的默认样式)、F(带星期的长日期/时间),以及 R(相对时间,如"2 小时后"或"3 天前")。
这些标签的关键特性在于,其底层值是一个单一、与时区无关的 Unix 时间戳——Discord 客户端在消息显示时,会自动将其转换为每位读者各自的本地时区和语言环境。这使它成为 Discord 服务器管理员、机器人开发者和活动组织者安排和公布时间的标准方式,无需让每个人自行进行时区换算。
本工具会把你在浏览器本地时区选择的日期和时间,转换为对应的 Unix 时间戳,然后为你生成全部七种标签变体,这样你就不必自己计算时间戳或记住各个样式字母的含义。
为什么使用它?
- 要在一个成员分布在五个不同时区的服务器里约开黑、比赛或团本时间,不想打一堆“晚8点/北京时间/UTC几点”还是有人算错。
- 作为机器人开发者,想在正式上线前先看看webhook或斜杠命令里嵌入的时间戳实际渲染出来是什么样——一次性预览全部七种样式,不用凭猜测硬编码某个样式字母。
- 想给一个活动或上线时间做实时更新的倒计时(“3小时后”→“2小时后”→“现在开始”),又不想专门跑一个机器人来发实时更新消息。
- 在写服务器规则或FAQ频道,想加一个“最后更新于”的时间戳,让每个成员不管身处哪个时区看到的都是正确时间。
- 凭记忆打了一串 <t:1650463200:f>,但不确定这个Unix时间戳对不对,想在发到几千人围观的服务器之前先核实一下确切的数字。
- 100% 本地运行:你选择的日期以及生成的时间戳绝不会离开你的浏览器。
使用方法
- 使用日期/时间字段选择日期和时间——它使用你设备的本地时区——或点击"使用当前时间"。
- 下方七行内容会随之即时更新,预览每种样式在 Discord 中渲染后的实际效果。
- 点击你想要复制的样式旁边的 <t:∙:X> 按钮,即可复制其可直接粘贴使用的标签,例如 <t:1650463200:R>。
- 将复制的标签直接粘贴到 Discord 消息中——Discord 会自动渲染,无需任何额外配置。
示例
输入
2024 年 4 月 20 日 16:20(本地时间)输出
<t:1713630000:f> → "20 April 2024 16:20"数字 1713630000 是该时刻对应的 Unix 时间戳。每位读者的 Discord 客户端都会自动以各自的时区和语言环境重新渲染 <t:1713630000:f>——处于不同时区的人看到的是同一个时刻,只是以各自的本地时间呈现。
Discord 时间戳样式一览
全部七种样式编码的是完全相同的底层 Unix 时间戳——只有 STYLE 字母会改变它的显示方式。
| 样式 | 标签格式 | 渲染示例 |
|---|---|---|
| t — 短时间 | <t:TIMESTAMP:t> | 16:20 |
| T — 长时间 | <t:TIMESTAMP:T> | 16:20:30 |
| d — 短日期 | <t:TIMESTAMP:d> | 20/04/2024 |
| D — 长日期 | <t:TIMESTAMP:D> | 20 April 2024 |
| f — 短日期/时间(默认) | <t:TIMESTAMP:f> 或 <t:TIMESTAMP> | 20 April 2024 16:20 |
| F — 长日期/时间 | <t:TIMESTAMP:F> | Saturday, 20 April 2024 16:20 |
| R — 相对时间 | <t:TIMESTAMP:R> | 2 个月前 |
根据场景挑选合适的样式
- 发活动公告(“团本开始于……”)时,F(带星期的长日期/时间)能给读者最完整的信息,不用再另外查日历确认星期几。
- 需要倒计时或“还有多久/已经过去多久”的效果时,R(相对时间)是唯一会自动持续更新的样式——用于提醒和截止日期再合适不过。
- 在一句较长的话里想紧凑地嵌入一个时间提及(比如“更新将于t上线”),用t或d能避免时间戳在视觉上喧宾夺主。
- 在规则或文档频道里标注“发布于”或“最后编辑于”时,通常单用D(长日期)就够了——这种场景下具体时间往往不如日期本身重要。
相关工具
如需其他时间和日期转换,可以试试这些工具。
常见问题
什么是 Discord 时间戳标签?
它是一种特殊的 Discord 消息标记,形式为 <t:TIMESTAMP:STYLE>,其中 TIMESTAMP 是一个 Unix 时间戳,STYLE 是控制显示格式的单个字母(t、T、d、D、f、F 或 R)。Discord 客户端会自动将其转换并渲染为每位读者各自的本地时区。
为什么这个日期在不同时区的人看来都是正确的?
因为标签存储的是一个单一、绝对的 Unix 时间戳——自 1970 年 1 月 1 日 UTC 起经过的秒数——而不是一个已经格式化好的日期字符串。每位读者设备上的 Discord 客户端会在渲染时,把这个绝对时刻转换为各自的本地时区和偏好的日期格式。
七种样式字母(t、T、d、D、f、F、R)分别代表什么?
t = 短时间(16:20),T = 长时间(16:20:30),d = 短日期(20/04/2024),D = 长日期(20 April 2024),f = 短日期和时间(未指定样式时的默认值),F = 带星期的长日期和时间,R = 相对时间("2 个月前""3 天后"),它会随着时间推移实时更新。
不开通 Discord Nitro 或没有机器人权限也能使用吗?
可以。时间戳标签是任何用户在输入普通消息时都可以使用的纯消息格式,不需要 Nitro 订阅、机器人或任何特殊权限。
这个工具会存储或发送我选择的日期吗?
不会。你选择的日期/时间以及 Unix 时间戳的计算完全在浏览器中通过 JavaScript 内置的 Date 对象完成,不会上传到任何服务器。
选择日期和时间时,工具用的是哪个时区?
会自动读取你浏览器所在设备的本地时区,不需要手动指定。生成的Unix时间戳本身与时区无关,所以标签一旦生成,无论你创建时身处哪个时区,都会为每一位读者正确渲染成他们各自的本地时间。
可以直接编辑Unix时间戳数字,而不是通过选日期来生成吗?
这个工具的设计思路是让你通过可视化选择日期和时间来操作,而不是直接输入原始Unix数字,因为对大多数人来说前者不容易出错。如果你已经有一个具体的Unix时间戳,想直接转换成标签,可以用本站的通用时间戳转换器工具,它支持这个方向的转换。
为什么R(相对时间)样式过一段时间再看会变化?
这是正常现象,不是bug——R样式的设计就是每次Discord渲染时都会相对当前时间重新计算,所以“3小时后”会随着时间推移自然变成“2小时后”,最终变成“3小时前”,完全不需要你手动编辑或重新发布消息。
可以设置很久以前或很久以后的日期吗?
可以——Unix时间戳在JavaScript支持的日期范围内,无论过去还是未来都能正常工作,这个范围前后各覆盖了好几个世纪。过去的日期搭配f/F样式很适合做记录(“活动举行于……”),搭配R样式则适合展示已经过去的时长(“3年前”)。
时间戳标签在机器人的嵌入消息和斜杠命令回复里也能用吗,还是只能用在普通消息里?
可以——只要是Discord会渲染Markdown格式文本的地方,<t:TIMESTAMP:STYLE> 标签格式都能正常工作,包括机器人的嵌入消息(embed)、斜杠命令的回复和webhook消息,不局限于用户手动输入的普通消息。