Discord 時間戳是一段標記語法,它會將一個 Unix 秒數包裝在角括號內,例如 <t:1783915200:F>,讓 Discord 能夠根據每位讀者所在的本地時區顯示對應的時間。若要設定一個所有檢視者都能正確看到的 Discord 時間,請直接將該標記貼到訊息中——Discord 會將嵌入的 Unix 秒數視為精確的時間點,然後根據每位檢視者的語言、地區和時區選擇顯示的文字。在一個橫跨多個時區的頻道裡寫下「July 13 at noon」,結果只能憑猜測:柏林的一位讀者看到的時間,會和聖保羅的某個人不同。相對地,Discord 時間戳永遠指向同一個時間點,而平台會負責處理轉換。產生時間戳最快的方式是使用 Discord Timestamp Generator,它會將你裝置本地時區的日期與時間,一次轉換成預設標記加上全部九種現有的樣式代碼。接著複製符合你想要的顯示效果的那一列,貼到你的草稿訊息中,並在送出前確認渲染出來的預覽。
Discord 時間戳存在的意義,正是為了處理純文字日期不夠用的情況:社群活動、遊戲時段、發布窗口、排程維護、課程、實況、會議、截止期限,以及任何由多位位於不同地區的讀者閱讀的訊息。每位檢視者看到的都是同一個時間點,但螢幕上的文字會符合他們自己的時鐘和語言,省去了「等等,那是你那邊的時間還是我這邊的?」來回確認的麻煩。

為什麼 Discord 時間戳與直接輸入日期不同
當你在 Discord 訊息中以純文字輸入日期時,每位讀者都會根據自己的脈絡去解讀。身在東京的成員讀到「8 PM Friday」會預設是 JST;在多倫多的版主會預設是 EDT;而剛睡醒的新成員可能在幾小時後才讀到,並且轉換錯誤。這種結果是日曆上的誤差,與 Discord 本身無關,而是與人類如何在腦中處理時間有關。
Discord 時間戳透過將訊息錨定到單一的 Unix 秒數來避開這種誤差。Discord 儲存該秒數,然後根據每位檢視者的地區設定和時區渲染可見的文字。身處不同時區的兩位讀者會看到不同的時鐘數字,但他們看到的是同一個時間點。Discord 開發者文件列出了支援的樣式代碼,並確認嵌入的 Unix 秒數就是 Discord 作為真實來源的依據。
當社群有排定活動時,實際的好處立刻顯現出來。你不用請大家做心算,只要送出一段標記字串。Discord 會負責處理轉換,訊息對每位讀者而言都讀起來自然。
九種 Discord 時間戳樣式及其顯示內容
Discord 目前在文件中列出九種時間戳樣式,另外還有一種省略樣式代碼、渲染為等同於 f 的「長日期、短時間」的預設樣式。樣式僅控制呈現方式;同一組產生的每一列都指向同一個 Unix 秒數。從 t 切換到 F 並不會改變活動時間,只會改變檢視者看到的細節多寡。
| 代碼 | 名稱 | 檢視者看到的內容 |
|---|---|---|
| (default) | Default (f-equivalent) | Long Date, Short Time, no style flag |
| t | Short Time | Time only, compact |
| T | Medium Time | Time with seconds |
| d | Short Date | Numeric date only |
| D | Long Date | Full spelled-out date |
| f | Long Date Short Time | Date plus compact time |
| F | Full Date Short Time | Full weekday, date, and time |
| s | Short Date Short Time | Numeric date and time |
| S | Short Date Medium Time | Numeric date and time with seconds |
| R | Relative Time | "in 3 hours" / "2 days ago", updated by Discord as time passes |
樣式代碼有大小寫之分。discord.js TimestampStyles 參考資料確認了與官方文件相同的樣式集合,官方文件是語法的權威依據。任何不在這份清單中的別名都不保證會如你所預期地渲染,因此產生器只會輸出這些有文件記載的代碼。
如何使用產生器設定 Discord 時間
從本地時鐘讀數到一個能在各地正確渲染的 Discord 訊息,最快的路徑就是使用產生器。三個步驟就能涵蓋完整的工作流程。
- 在裝置的本地時區中選擇活動日期與時間。開啟 Discord Timestamp Generator,並輸入你想公告的時間點。輸入欄位會使用你作業系統目前設定的時區,所以在輸入前請再次確認該時區——如果你預期的是某個場地的時區而非你目前的時區,請先切換裝置或調整系統時鐘。
- 產生預設標記、全部九種有文件記載的樣式,以及 Unix 秒數值。這個工具會根據你輸入的單一時間點產生一整套結果。如果你想要拿來和另一個以秒為單位儲存時間的系統比對,可以檢視一下 Unix 數字。樣式選擇只會改變呈現方式;每一列編碼的都是同一個秒數。
- 複製你偏好的那一列,貼到 Discord 中,並在送出前確認渲染出來的時間。請將標記直接貼到訊息草稿中,不要用反引號包起來,除非你刻意要 Discord 顯示原始字元。在私人頻道中先送出一則測試訊息,確認渲染出來的時間戳符合你的預期,特別是在接近日光節約時間轉換的活動上。
只要活動時間變動,就重新產生一組。標記中的 Unix 秒數會跟著你的輸入走,因此編輯日期並重新產生,就能得到更新後、可直接複製使用的數值,無需手動計算。
相對樣式 vs 絕對樣式:該使用哪一種
樣式 R 是唯一不會顯示固定時鐘讀數的選項。Discord 會將 R 顯示為像「in 2 hours」或「3 days ago」這類片語,並隨著時間經過自動更新文字。這使得 R 成為提醒事項、倒數計時,以及「即將開始」通知的理想選擇——無論讀者是今天還是明天讀到訊息,相對時間的表達方式都保有意義。
絕對樣式 (t、T、d、D、f、F、s、S) 會在檢視者閱讀當下凍結文字。當讀者需要一個穩定的日曆參考點時,請使用絕對樣式——例如釘選在頻道中的會議邀請、遊戲更新的發布日期、服務的維護時段。細節較多的 F 與 S 樣式會加入更多可見的脈絡(星期幾、秒數),而 t、d 和 s 則保持簡潔。請依頻道所需的細節程度選擇,但請記住,所有列所對應的時間點其實是相同的。
如果你想同時支援以相對方式思考的讀者,以及把日期釘在日曆上的讀者,你可以在同一則訊息中放入兩個時間戳——一個 R 用於倒數,一個 f 用於固定的日期。兩者來自同一組產生結果,因此秒數天生就會對齊。
時區與日光節約時間的常見陷阱
Discord 時間戳顯示錯誤的最常見原因,在於產生器使用的時區與公告預期的時區不一致。輸入欄位會讀取你裝置設定的時區,所以如果你的筆電因為旅行、日光節約規則或手動調整而跑到不同的時區,你產生的每個數值都會帶著這個誤差。發布前請先檢查時區。
日光節約時間的轉換會形成第二個更尖銳的陷阱。在時鐘往前調的那一夜,某些時區中像 2:30 AM 這樣的本地時間根本不存在;而在時鐘往回調的那一夜,1:30 AM 會發生兩次。產生器會拒絕不可能的日期組合,但最終仍是瀏覽器套用作業系統的本地規則。對於正好安排在轉換時刻的活動,在發送公開公告前,請與位於預定時區的人確認渲染出來的結果。
渲染出的時間戳出現一小時的誤差,幾乎都能追溯到這兩個原因之一:裝置時區設定錯誤,或是瀏器對 DST 邊界的解讀與你預期不同。請將產生器輸出中的 Unix 秒數值視為權威的時間點——任何指向該秒數的 Discord 樣式,都會解析到同一個時間,無論你貼上的是哪一列。
整個工作流程都在瀏覽器中於本地執行。你輸入的日期、工具計算出的 Unix 秒數,以及它產生的標記,都不會被上傳。如果你希望在送出前確認草稿,請將標記貼到私人頻道或測試伺服器中,自己讀回渲染出來的時間戳。這最後一次的檢視,是防止公開行程出錯最便宜的保險。
如果你正在權衡各種選項,Does a Discord Timestamp Generator Send a Message? 對此有詳細說明。
如果你正在權衡各種選項,How to Check a Discord Timestamp Result Before Sending 對此有詳細說明。