工具箱圖標
XTools
Blog
/
Day.js 線上測試與格式速查Moment.js 線上測試與 Day.js 遷移日期計算與時間戳記轉換時區轉換

© 2026 XTools. 保留所有權利。

隱私權政策聯絡我們

    Day.js 線上測試與格式速查

    即時試用 Day.js 格式化與解析,附格式符號表、多語系與可複製程式碼
    • 檔案不會離開你的裝置
    • 在瀏覽器本機執行
    • 免費、免註冊、無浮水印
    正在載入 Day.js…

    格式化練習

    輸出
     

    格式符號速查

    點選格式符號即可插入格式字串。範例使用上方的參考日期與地區語言。

    符號範例意義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–24advancedFormat
    小時,01–24advancedFormat
    分與秒
    分鐘內建
    分鐘(兩位數)內建
    秒內建
    秒(兩位數)內建
    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 的運算式,直接在瀏覽器中執行;常用寫法用到的外掛都已啟用,並套用上方選擇的地區語言。

    結果

    練習設定

    相關工具

    • Moment.js 線上測試與 Day.js 遷移
    • 日期計算與時間戳記轉換
    • 時區轉換

    如何使用Day.js 線上測試與格式速查

    以你指定的日期即時測試 Day.js 的格式化、解析、相對時間與時間長度。每個結果都附上需要的 import 與 dayjs.extend() 程式碼,格式符號速查表會標示每個符號需要哪個外掛。

    1. 1

      設定「參考日期與時間」(或點「現在」)並選擇「地區語言」;程式碼使用 dayjs.utc() 的話,請開啟「以 UTC 處理」。

    2. 2

      在「格式字串」輸入格式或點選常用格式;在「格式符號速查」點任一符號,即可插入到游標位置。

    3. 3

      複製「輸出」下方產生的程式碼,其中已包含所需外掛的匯入。

    4. 4

      在「解析練習」填入日期字串與預期格式,開啟「嚴格解析」即可拒絕不存在的日期。

    5. 5

      在「常用寫法」點「試試看」,把程式碼載入「程式碼執行器」,修改後即時查看結果。

    常見問題

    某個格式符號需要哪個外掛?

    「格式符號速查」的 Day.js 欄會標示「內建」或外掛名稱,例如 Do、Q、X 需要 advancedFormat,L、LLLL 需要 localizedFormat。產生的程式碼會自動加上對應的 import 與 dayjs.extend()。

    為什麼格式符號在這裡正常,在我的專案卻不對?

    本頁載入了全部外掛。Day.js 核心只會取代認得的符號,沒有擴充 advancedFormat 時,Q 會原樣輸出,Do 會變成日期數字後面多一個 o。依速查表擴充對應外掛即可;DDD、E 等少數 Moment 符號在 Day.js 中並不存在。

    為什麼 2023-02-30 被當成有效日期?

    非嚴格模式下,Day.js 會把不存在的日期順延到下個月。開啟「嚴格解析」(搭配 customParseFormat 外掛傳入第三個參數 true),同樣的輸入就會顯示為無效日期。

    怎麼在格式中輸出一般文字?

    用方括號括起來。例如 [Week] W, GGGG 會輸出單字 Week,後面接 ISO 週數與年份。

    程式碼執行器裡的程式碼會傳送出去嗎?

    不會。Day.js、外掛與語系檔都在目前的頁面中執行,運算式在你的瀏覽器裡執行,常用寫法用到的外掛都已啟用。

    可以把時間換算到其他時區嗎?

    常用寫法中的「其他時區的時間」示範了 dayjs().tz() 的用法,需要 utc 與 timezone 外掛。要並排對照多個時區,可以使用「時區轉換」。