XTools ロゴ
XTools
Blog
/
Day.js プレイグラウンド・書式リファレンスMoment.js プレイグラウンド・Day.js 移行日付計算・Unix 時間変換タイムゾーン変換

© 2026 XTools. 無断複写·転載を禁じます。

プライバシーポリシーお問い合わせ

    Day.js プレイグラウンド・書式リファレンス

    Day.js のフォーマットとパースをその場で試せます。トークン表・ロケール・コード付き
    • ファイルは端末の外に出ません
    • ブラウザ内で処理
    • 無料・登録不要・透かしなし
    Day.js を読み込み中…

    フォーマットを試す

    出力
     

    書式トークン一覧

    トークンをクリックするとフォーマット文字列に挿入されます。例は基準日時とロケールで表示しています。

    トークン例意味Day.js
    年・四半期
    4 桁の年標準
    2 桁の年標準
    四半期(1–4)advancedFormat
    Day.js は非対応四半期(序数)Day.js は非対応
    月
    月(1–12)標準
    Day.js は非対応月(序数)Day.js は非対応
    月(2 桁)標準
    月の短縮名標準
    月の名前標準
    日(月内・年内)
    日標準
    日(序数)advancedFormat
    日(2 桁)標準
    Day.js は非対応年間通算日Day.js は非対応
    Day.js は非対応年間通算日(3 桁)Day.js は非対応
    曜日
    曜日番号(0 = 日曜)標準
    曜日(最短)標準
    曜日(短縮)標準
    曜日(完全)標準
    Day.js は非対応曜日番号(ロケール基準)Day.js は非対応
    Day.js は非対応ISO 曜日番号(1 = 月曜)Day.js は非対応
    週
    年内の週番号(ロケール基準)advancedFormat + weekOfYear
    週番号(序数)advancedFormat + weekOfYear
    週番号(2 桁)advancedFormat + weekOfYear
    ISO 週番号advancedFormat + isoWeek
    ISO 週番号(2 桁)advancedFormat + isoWeek
    週の属する年(ロケール基準)advancedFormat + weekYear
    ISO 週の属する年advancedFormat + isoWeek
    時
    時、0–23標準
    時、00–23標準
    時、1–12標準
    時、01–12標準
    時、1–24advancedFormat
    時、01–24advancedFormat
    分・秒
    分標準
    分(2 桁)標準
    秒標準
    秒(2 桁)標準
    Day.js は非対応1/10 秒Day.js は非対応
    Day.js は非対応1/100 秒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')

    期間(Duration)

    よく使う書き方

    日常的な処理を結果付きで紹介します。「試す」で下のコードランナーに読み込めます。

    やりたいこと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')
    →
    2 つの日付の日数差
    dayjs().diff(dayjs('2022-01-01'), 'day')
    →
    今月の日数
    dayjs().daysInMonth()
    →
    四半期
    Day.js: quarterOfYear
    dayjs().quarter()
    →
    カレンダー表記
    Day.js: calendar
    dayjs().add(1, 'day').calendar()
    →
    2 つの日付の間にあるか
    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()
    →
    月末に 1 か月足す
    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 移行
    • 日付計算・Unix 時間変換
    • タイムゾーン変換

    Day.js プレイグラウンド・書式リファレンスの使い方

    指定した日時で Day.js のフォーマット、パース、相対時間、期間をその場で試せます。結果には必要な import と dayjs.extend() のコードが付き、書式トークン一覧で必要なプラグインがわかります。

    1. 1

      「基準日時」を設定し(または「現在」を押し)、「ロケール」を選びます。dayjs.utc() を使うコードなら「UTC として扱う」をオンにします。

    2. 2

      「フォーマット文字列」に書式を入力するか、よく使う書式をクリックします。「書式トークン一覧」のトークンをクリックするとカーソル位置に挿入されます。

    3. 3

      「出力」の下に生成されたコードをコピーします。必要なプラグインの import も含まれています。

    4. 4

      「パースを試す」で日付文字列と想定する書式を入力し、「厳密モード」をオンにすると存在しない日付を弾けます。

    5. 5

      「よく使う書き方」で「試す」を押すとコードが「コードランナー」に読み込まれ、編集した結果がすぐに表示されます。

    よくある質問

    書式トークンにはどのプラグインが必要ですか?

    「書式トークン一覧」の Day.js 列に「標準」かプラグイン名が表示されます。たとえば Do・Q・X は advancedFormat、L・LLLL は localizedFormat が必要です。生成コードには対応する import と dayjs.extend() が自動で入ります。

    ここでは正しく出るトークンが、自分のプロジェクトでおかしくなるのはなぜですか?

    このページではすべてのプラグインを読み込んでいます。Day.js のコアは知っているトークンしか置き換えないため、advancedFormat なしでは Q はそのまま残り、Do は日の数字の後ろに o が付いた形になります。一覧に示されたプラグインを extend してください。DDD や E など一部の Moment のトークンは Day.js にそもそもありません。

    2023-02-30 が有効な日付として扱われるのはなぜですか?

    厳密モードでない場合、Day.js は存在しない日を翌月に繰り越します。「厳密モード」(customParseFormat プラグインで第 3 引数に true を渡す形)をオンにすると、同じ入力が無効と判定されます。

    書式の中に普通の文字を入れるには?

    角かっこで囲みます。たとえば [Week] W, GGGG は Week という単語の後に ISO 週番号と年を出力します。

    コードランナーのコードは外部に送信されますか?

    いいえ。Day.js 本体、プラグイン、ロケールファイルはこのページ内で動き、入力した式はブラウザ内で実行されます。よく使う書き方で使うプラグインはすべて有効です。

    別のタイムゾーンの時刻に変換できますか?

    よく使う書き方の「別のタイムゾーンの時刻」で、utc と timezone プラグインを使った dayjs().tz() の例を確認できます。複数のゾーンを並べて比べるなら「タイムゾーン変換」が便利です。