點選格式符號即可插入格式字串。範例使用上方的參考日期與地區語言。
| 符號 | 範例 | 意義 | Day.js |
|---|---|---|---|
| 年與季 | |||
| 四位數年份 | 內建 | ||
| 兩位數年份 | 內建 | ||
| 季(1–4) | advancedFormat | ||
| Day.js 不支援 | 季(序數) | Day.js 不支援 | |
| 月 | |||
| 月(1–12) | 內建 | ||
| Day.js 不支援 | 月(序數) | Day.js 不支援 | |
| 月(兩位數) | 內建 | ||
| 月份簡稱 | 內建 | ||
| 月份全名 | 內建 | ||
| 日(月內 / 年內) | |||
| 日 | 內建 | ||
| 日(序數) | advancedFormat | ||
| 日(兩位數) | 內建 | ||
| Day.js 不支援 | 一年中的第幾天 | Day.js 不支援 | |
| Day.js 不支援 | 一年中的第幾天(三位數) | Day.js 不支援 | |
| 星期 | |||
| 星期幾(0 為週日) | 內建 | ||
| 星期(最短) | 內建 | ||
| 星期(簡稱) | 內建 | ||
| 星期(全名) | 內建 | ||
| Day.js 不支援 | 星期幾(依地區) | Day.js 不支援 | |
| Day.js 不支援 | ISO 星期幾(1 為週一) | Day.js 不支援 | |
| 週 | |||
| 一年中的第幾週(依地區) | advancedFormat + weekOfYear | ||
| 第幾週(序數) | advancedFormat + weekOfYear | ||
| 第幾週(兩位數) | advancedFormat + weekOfYear | ||
| ISO 週數 | advancedFormat + isoWeek | ||
| ISO 週數(兩位數) | advancedFormat + isoWeek | ||
| 週所屬年份(依地區) | advancedFormat + weekYear | ||
| ISO 週所屬年份 | advancedFormat + isoWeek | ||
| 小時 | |||
| 小時,0–23 | 內建 | ||
| 小時,00–23 | 內建 | ||
| 小時,1–12 | 內建 | ||
| 小時,01–12 | 內建 | ||
| 小時,1–24 | advancedFormat | ||
| 小時,01–24 | advancedFormat | ||
| 分與秒 | |||
| 分鐘 | 內建 | ||
| 分鐘(兩位數) | 內建 | ||
| 秒 | 內建 | ||
| 秒(兩位數) | 內建 | ||
| Day.js 不支援 | 十分之一秒 | Day.js 不支援 | |
| Day.js 不支援 | 百分之一秒 | Day.js 不支援 | |
| 毫秒 | 內建 | ||
| 上午 / 下午 | |||
| AM / PM(上午 / 下午) | 內建 | ||
| am / pm(小寫) | 內建 | ||
| 時區 | |||
| UTC 偏移,±HH:mm | 內建 | ||
| UTC 偏移,±HHmm | 內建 | ||
| 時區縮寫 | advancedFormat + timezone | ||
| 時區名稱 | advancedFormat + timezone | ||
| Unix 時間 | |||
| Unix 秒 | advancedFormat | ||
| Unix 毫秒 | advancedFormat | ||
| 在地化格式 | |||
| 在地化時間 | localizedFormat | ||
| 在地化時間(含秒) | localizedFormat | ||
| 在地化數字日期 | localizedFormat | ||
| 在地化日期(含月份名稱) | localizedFormat | ||
| 在地化日期與時間 | localizedFormat | ||
| 在地化日期、星期與時間 | localizedFormat | ||
| 簡短數字日期 | localizedFormat | ||
| 簡短日期(含月份名稱) | localizedFormat | ||
| 簡短日期與時間 | localizedFormat | ||
| 簡短日期、星期與時間 | localizedFormat | ||
| 跳脫 | |||
| 方括號中的文字原樣輸出 | 內建 | ||
留空則以 ISO 8601 解析。
每一列先平移參考日期,再用 from() 與 calendar() 描述它相對參考日期的位置。
| 平移 | from(ref) | calendar(ref) |
|---|---|---|
| .add(-45, 'second') | ||
| .add(-10, 'minute') | ||
| .add(-3, 'hour') | ||
| .add(-1, 'day') | ||
| .add(-5, 'day') | ||
| .add(-3, 'month') | ||
| .add(-2, 'year') | ||
| .add(30, 'minute') | ||
| .add(2, 'day') | ||
| .add(1, 'month') |
日常任務的寫法與即時結果。點「試試看」可載入下方的程式碼執行器。
| 任務 | Day.js |
|---|---|
格式化目前時間 | dayjs().format('YYYY-MM-DD HH:mm:ss')→ |
加上幾天 | dayjs('2023-01-01').add(1, 'day').format('YYYY-MM-DD')→ |
距離現在多久 Day.js: relativeTime | dayjs().subtract(7, 'day').fromNow()→ |
本月第一天 | dayjs().startOf('month').format('YYYY-MM-DD')→ |
今年最後一天 | dayjs().endOf('year').format('YYYY-MM-DD')→ |
本週開始(依地區) | dayjs().startOf('week').format('YYYY-MM-DD ddd')→ |
兩個日期相差的天數 | dayjs().diff(dayjs('2022-01-01'), 'day')→ |
本月天數 | dayjs().daysInMonth()→ |
所在季度 Day.js: quarterOfYear | dayjs().quarter()→ |
日曆式時間 Day.js: calendar | dayjs().add(1, 'day').calendar()→ |
是否介於兩個日期之間 Day.js: isBetween | dayjs('2024-12-31').isBetween('2024-01-01', '2025-01-01')→ |
是否為今天 Day.js: isToday | dayjs().isToday()→ |
是否為閏年 Day.js: isLeapYear | dayjs('2024-01-01').isLeapYear()→ |
嚴格驗證日期 Day.js: customParseFormat | dayjs('2023-02-30', 'YYYY-MM-DD', true).isValid()→ |
解析自訂格式 Day.js: customParseFormat | dayjs('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()→ |
Unix 時間戳(秒) | dayjs().unix()→ |
目前 UTC 時間 Day.js: utc | dayjs.utc().format()→ |
其他時區的時間 Day.js: utc + timezone + advancedFormat | dayjs().tz('America/New_York').format('YYYY-MM-DD HH:mm z')→ |
把時間長度轉成自然語言 Day.js: duration + relativeTime | dayjs.duration(90, 'minutes').humanize()→ |
月底加一個月 | dayjs('2026-01-31').add(1, 'month').format('YYYY-MM-DD')→ |
呼叫 add() 但不重新指定 | (() => { const d = dayjs('2026-01-01'); d.add(1, 'day'); return d.format('YYYY-MM-DD') })()→ |
輸入一個使用 dayjs 的運算式,直接在瀏覽器中執行;常用寫法用到的外掛都已啟用,並套用上方選擇的地區語言。
以你指定的日期即時測試 Day.js 的格式化、解析、相對時間與時間長度。每個結果都附上需要的 import 與 dayjs.extend() 程式碼,格式符號速查表會標示每個符號需要哪個外掛。
設定「參考日期與時間」(或點「現在」)並選擇「地區語言」;程式碼使用 dayjs.utc() 的話,請開啟「以 UTC 處理」。
在「格式字串」輸入格式或點選常用格式;在「格式符號速查」點任一符號,即可插入到游標位置。
複製「輸出」下方產生的程式碼,其中已包含所需外掛的匯入。
在「解析練習」填入日期字串與預期格式,開啟「嚴格解析」即可拒絕不存在的日期。
在「常用寫法」點「試試看」,把程式碼載入「程式碼執行器」,修改後即時查看結果。
「格式符號速查」的 Day.js 欄會標示「內建」或外掛名稱,例如 Do、Q、X 需要 advancedFormat,L、LLLL 需要 localizedFormat。產生的程式碼會自動加上對應的 import 與 dayjs.extend()。
本頁載入了全部外掛。Day.js 核心只會取代認得的符號,沒有擴充 advancedFormat 時,Q 會原樣輸出,Do 會變成日期數字後面多一個 o。依速查表擴充對應外掛即可;DDD、E 等少數 Moment 符號在 Day.js 中並不存在。
非嚴格模式下,Day.js 會把不存在的日期順延到下個月。開啟「嚴格解析」(搭配 customParseFormat 外掛傳入第三個參數 true),同樣的輸入就會顯示為無效日期。
用方括號括起來。例如 [Week] W, GGGG 會輸出單字 Week,後面接 ISO 週數與年份。
不會。Day.js、外掛與語系檔都在目前的頁面中執行,運算式在你的瀏覽器裡執行,常用寫法用到的外掛都已啟用。
常用寫法中的「其他時區的時間」示範了 dayjs().tz() 的用法,需要 utc 與 timezone 外掛。要並排對照多個時區,可以使用「時區轉換」。