Discord 時間戳是一段標記語法,它會將一個 Unix 秒數包裝在角括號內,例如 <t:1783915200:F>,讓 Discord 能夠根據每位讀者所在的本地時區顯示對應的時間。若要設定一個所有檢視者都能正確看到的 Discord 時間,請直接將該標記貼到訊息中——Discord 會將嵌入的 Unix 秒數視為精確的時間點,然後根據每位檢視者的語言、地區和時區選擇顯示的文字。在一個橫跨多個時區的頻道裡寫下「July 13 at noon」,結果只能憑猜測:柏林的一位讀者看到的時間,會和聖保羅的某個人不同。相對地,Discord 時間戳永遠指向同一個時間點,而平台會負責處理轉換。產生時間戳最快的方式是使用 Discord Timestamp Generator,它會將你裝置本地時區的日期與時間,一次轉換成預設標記加上全部九種現有的樣式代碼。接著複製符合你想要的顯示效果的那一列,貼到你的草稿訊息中,並在送出前確認渲染出來的預覽。

Discord 時間戳存在的意義,正是為了處理純文字日期不夠用的情況:社群活動、遊戲時段、發布窗口、排程維護、課程、實況、會議、截止期限,以及任何由多位位於不同地區的讀者閱讀的訊息。每位檢視者看到的都是同一個時間點,但螢幕上的文字會符合他們自己的時鐘和語言,省去了「等等,那是你那邊的時間還是我這邊的?」來回確認的麻煩。

how to set discord time
How to Set Discord Time for Cross-Zone Events

為什麼 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
tShort TimeTime only, compact
TMedium TimeTime with seconds
dShort DateNumeric date only
DLong DateFull spelled-out date
fLong Date Short TimeDate plus compact time
FFull Date Short TimeFull weekday, date, and time
sShort Date Short TimeNumeric date and time
SShort Date Medium TimeNumeric date and time with seconds
RRelative Time"in 3 hours" / "2 days ago", updated by Discord as time passes

樣式代碼有大小寫之分。discord.js TimestampStyles 參考資料確認了與官方文件相同的樣式集合,官方文件是語法的權威依據。任何不在這份清單中的別名都不保證會如你所預期地渲染,因此產生器只會輸出這些有文件記載的代碼。

如何使用產生器設定 Discord 時間

從本地時鐘讀數到一個能在各地正確渲染的 Discord 訊息,最快的路徑就是使用產生器。三個步驟就能涵蓋完整的工作流程。

  1. 在裝置的本地時區中選擇活動日期與時間。開啟 Discord Timestamp Generator,並輸入你想公告的時間點。輸入欄位會使用你作業系統目前設定的時區,所以在輸入前請再次確認該時區——如果你預期的是某個場地的時區而非你目前的時區,請先切換裝置或調整系統時鐘。
  2. 產生預設標記、全部九種有文件記載的樣式,以及 Unix 秒數值。這個工具會根據你輸入的單一時間點產生一整套結果。如果你想要拿來和另一個以秒為單位儲存時間的系統比對,可以檢視一下 Unix 數字。樣式選擇只會改變呈現方式;每一列編碼的都是同一個秒數。
  3. 複製你偏好的那一列,貼到 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 對此有詳細說明。