CodeKitHub
时间工具

Discord 时间戳转换器

最后更新:

Discord 消息支持一种特殊的时间戳标签——<t:1650463200:f>——Discord 客户端会自动将其渲染为每位读者本地的时区和偏好格式,因此某人在纽约发布的活动时间,东京的读者看到的也是正确的当地时间。本工具让你在自己本地时区选择日期和时间,即时生成 Discord 全部七种显示样式对应的正确格式标签,并实时预览每种样式在实际渲染时的效果。复制你需要的那一个,直接粘贴到 Discord 中即可。

显示样式

Short Time16:20
Long Time16:20:30
Short Date20/04/2024
Long Date20 April 2024
Short Date/Time (default)20 April 2024 16:20
Long Date/TimeSaturday, 20 April 2024 16:20
Relative Time2 months ago

工具介绍

根据 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% 本地运行:你选择的日期以及生成的时间戳绝不会离开你的浏览器。

使用方法

  1. 使用日期/时间字段选择日期和时间——它使用你设备的本地时区——或点击"使用当前时间"。
  2. 下方七行内容会随之即时更新,预览每种样式在 Discord 中渲染后的实际效果。
  3. 点击你想要复制的样式旁边的 <t:∙:X> 按钮,即可复制其可直接粘贴使用的标签,例如 <t:1650463200:R>。
  4. 将复制的标签直接粘贴到 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消息,不局限于用户手动输入的普通消息。

相关工具