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

© 2026 XTools. 保留所有權利。

隱私權政策聯絡我們

    Moment.js 線上測試與 Day.js 遷移

    即時試用 Moment.js 格式化,並對照 Day.js 的等價寫法
    • 檔案不會離開你的裝置
    • 在瀏覽器本機執行
    • 免費、免註冊、無浮水印

    Moment.js 已進入維護模式,官方團隊也建議新專案改用更現代的函式庫。Day.js 的 API 與它幾乎相同,大小只有約 2 KB,因此這裡每個區塊都同時列出 Day.js 的對應寫法。

    Moment 專案狀態說明開啟 Day.js 練習場

    正在載入 Moment.js…

    格式化練習

    輸出
     

    格式符號速查

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

    符號範例意義
    年與季
    四位數年份
    兩位數年份
    季(1–4)
    季(序數)
    月
    月(1–12)
    月(序數)
    月(兩位數)
    月份簡稱
    月份全名
    日(月內 / 年內)
    日
    日(序數)
    日(兩位數)
    一年中的第幾天
    一年中的第幾天(三位數)
    星期
    星期幾(0 為週日)
    星期(最短)
    星期(簡稱)
    星期(全名)
    星期幾(依地區)
    ISO 星期幾(1 為週一)
    週
    一年中的第幾週(依地區)
    第幾週(序數)
    第幾週(兩位數)
    ISO 週數
    ISO 週數(兩位數)
    週所屬年份(依地區)
    ISO 週所屬年份
    小時
    小時,0–23
    小時,00–23
    小時,1–12
    小時,01–12
    小時,1–24
    小時,01–24
    分與秒
    分鐘
    分鐘(兩位數)
    秒
    秒(兩位數)
    十分之一秒
    百分之一秒
    毫秒
    上午 / 下午
    AM / PM(上午 / 下午)
    am / pm(小寫)
    時區
    UTC 偏移,±HH:mm
    UTC 偏移,±HHmm
    需要 moment-timezone時區縮寫
    需要 moment-timezone時區名稱
    Unix 時間
    Unix 秒
    Unix 毫秒
    在地化格式
    在地化時間
    在地化時間(含秒)
    在地化數字日期
    在地化日期(含月份名稱)
    在地化日期與時間
    在地化日期、星期與時間
    簡短數字日期
    簡短日期(含月份名稱)
    簡短日期與時間
    簡短日期、星期與時間
    跳脫
    方括號中的文字原樣輸出

    解析練習

    留空則以 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')

    時間長度

    常用寫法

    日常任務的寫法與即時結果。點「試試看」可載入下方的程式碼執行器。

    Moment 物件是可變的:add() 會修改原物件。Day.js 每次操作都回傳新物件,所以要重新指定結果。
    任務Moment.js
    格式化目前時間
    moment().format('YYYY-MM-DD HH:mm:ss')
    →
    加上幾天
    moment('2023-01-01').add(1, 'days').format('YYYY-MM-DD')
    →
    距離現在多久
    moment().subtract(7, 'days').fromNow()
    →
    本月第一天
    moment().startOf('month').format('YYYY-MM-DD')
    →
    今年最後一天
    moment().endOf('year').format('YYYY-MM-DD')
    →
    本週開始(依地區)
    moment().startOf('week').format('YYYY-MM-DD ddd')
    →
    兩個日期相差的天數
    moment().diff(moment('2022-01-01'), 'days')
    →
    本月天數
    moment().daysInMonth()
    →
    所在季度
    moment().quarter()
    →
    日曆式時間
    moment().add(1, 'days').calendar()
    →
    是否介於兩個日期之間
    moment('2024-12-31').isBetween('2024-01-01', '2025-01-01')
    →
    是否為今天
    moment().isSame(moment(), 'day')
    →
    是否為閏年
    moment('2024-01-01').isLeapYear()
    →
    嚴格驗證日期
    moment('2023-02-30', 'YYYY-MM-DD', true).isValid()
    →
    解析自訂格式
    moment('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()
    →
    Unix 時間戳(秒)
    moment().unix()
    →
    目前 UTC 時間
    moment.utc().format()
    →
    其他時區的時間
    需要 moment-timezone
    把時間長度轉成自然語言
    moment.duration(90, 'minutes').humanize()
    →
    月底加一個月
    moment('2026-01-31').add(1, 'months').format('YYYY-MM-DD')
    →
    呼叫 add() 但不重新指定
    (() => { const d = moment('2026-01-01'); d.add(1, 'days'); return d.format('YYYY-MM-DD') })()
    →

    程式碼執行器

    輸入一個使用 moment 的運算式,直接在瀏覽器中執行;常用寫法用到的外掛都已啟用,並套用上方選擇的地區語言。

    結果

    練習設定

    相關工具

    • Day.js 線上測試與格式速查
    • 日期計算與時間戳記轉換
    • 時區轉換

    如何使用Moment.js 線上測試與 Day.js 遷移

    線上測試 Moment.js 的格式化、解析、相對時間與時間長度,每個 Moment 結果旁都同時列出 Day.js 的結果並標示差異,方便在遷移程式碼前確認會有哪些變化。兩個函式庫都在瀏覽器中執行。

    1. 1

      設定「參考日期與時間」和「地區語言」;程式碼使用 moment.utc() 的話,請開啟「以 UTC 處理」。

    2. 2

      在「格式字串」輸入格式,「輸出」會顯示 Moment 與 Day.js 的結果,並標示「輸出一致」或「輸出不同」。

    3. 3

      在「格式符號速查」查看 Day.js 不支援或需要外掛的符號,點一下符號即可插入格式中。

    4. 4

      在「解析練習」「相對時間」「時間長度」對照兩個函式庫,Day.js 結果不同之處會以醒目顏色標示。

    5. 5

      在「常用寫法」查看日常任務的兩種寫法,點「試試看」在「程式碼執行器」執行 Moment 版本。

    常見問題

    Moment.js 還有在維護嗎?

    Moment.js 已進入維護模式,官方團隊也建議新專案改用更現代的函式庫。頁面上方的提示附有 Moment 專案狀態說明與 Day.js 練習場的連結。

    改用 Day.js 時最常出什麼問題?

    最常見的是可變性:Moment 的 add() 會修改原物件,Day.js 則每次都回傳新物件,必須重新指定結果。此外許多功能在 Day.js 需要外掛,每條常用寫法都列出了所需外掛。

    哪些格式符號在 Day.js 沒有對應?

    Qo、Mo、DDD、DDDD、e、E、S 和 SS。「格式符號速查」會標示它們為 Day.js 不支援,其他符號則標出需要的外掛。

    為什麼 z 和 zzz 在 Moment 沒有作用?

    時區名稱需要另外的 moment-timezone 擴充套件,本頁沒有載入,所以速查表會顯示「需要 moment-timezone」。Day.js 則透過 timezone 外掛支援。

    對照的是哪個版本?

    Moment.js 與 Day.js 的實際版本號顯示在設定面板下方。

    程式碼會上傳到伺服器嗎?

    不會。兩個函式庫與語系檔都載入到目前的頁面中,你輸入的內容都在瀏覽器裡執行。