Playground Moment.js & Migrasi Day.js

Coba format Moment.js secara langsung dan lihat padanan Day.js berdampingan
  • File tidak meninggalkan perangkat Anda
  • Berjalan di browser
  • Gratis, tanpa daftar, tanpa watermark

Moment.js is in maintenance mode, and its own team recommends a modern library for new projects. Day.js keeps nearly the same API in about 2 KB, so every section here also shows the Day.js equivalent.

Moment project statusOpen the Day.js playground

Loading Moment.js…

Format playground

Output
 

Format tokens

Click a token to insert it into the format string. Examples use the reference date and locale.

TokenExampleMeaning
Year and quarter
Four-digit year
Two-digit year
Quarter (1–4)
Quarter, ordinal
Month
Month (1–12)
Month, ordinal
Month, two digits
Month, short name
Month, full name
Day of month and year
Day of month
Day of month, ordinal
Day of month, two digits
Day of year
Day of year, three digits
Day of week
Day of week (0 = Sunday)
Weekday, shortest name
Weekday, short name
Weekday, full name
Day of week, by locale
ISO day of week (1 = Monday)
Week
Week of year, by locale
Week of year, ordinal
Week of year, two digits
ISO week of year
ISO week, two digits
Week-numbering year, by locale
ISO week-numbering year
Hour
Hour, 0–23
Hour, 00–23
Hour, 1–12
Hour, 01–12
Hour, 1–24
Hour, 01–24
Minute and second
Minute
Minute, two digits
Second
Second, two digits
Tenths of a second
Hundredths of a second
Milliseconds
AM / PM
AM / PM
am / pm
Time zone
UTC offset, ±HH:mm
UTC offset, ±HHmm
needs moment-timezoneTime zone abbreviation
needs moment-timezoneTime zone name
Unix time
Unix seconds
Unix milliseconds
Localized formats
Localized time
Localized time with seconds
Localized numeric date
Localized date with month name
Localized date and time
Localized date and time with weekday
Short numeric date
Short date with month name
Short date and time
Short date and time with weekday
Escaping
Text in square brackets is printed as is

Parse playground

Leave empty to parse ISO 8601.

Relative time

Each row shifts the reference date, then describes it relative to the reference with from() and calendar().

Shiftfrom(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')

Durations

Recipes

Everyday tasks with live results. “Try” loads one into the code runner below.

Moment objects are mutable: add() changes the original. Day.js returns a new object from every operation, so reassign the result.
TaskMoment.js
Format the current time
moment().format('YYYY-MM-DD HH:mm:ss')
→
Add days
moment('2023-01-01').add(1, 'days').format('YYYY-MM-DD')
→
Time from now
moment().subtract(7, 'days').fromNow()
→
First day of this month
moment().startOf('month').format('YYYY-MM-DD')
→
Last day of this year
moment().endOf('year').format('YYYY-MM-DD')
→
Start of this week (locale aware)
moment().startOf('week').format('YYYY-MM-DD ddd')
→
Days between two dates
moment().diff(moment('2022-01-01'), 'days')
→
Days in this month
moment().daysInMonth()
→
Quarter of the year
moment().quarter()
→
Calendar time
moment().add(1, 'days').calendar()
→
Is a date between two others
moment('2024-12-31').isBetween('2024-01-01', '2025-01-01')
→
Is it today
moment().isSame(moment(), 'day')
→
Is it a leap year
moment('2024-01-01').isLeapYear()
→
Validate a date strictly
moment('2023-02-30', 'YYYY-MM-DD', true).isValid()
→
Parse a custom format
moment('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()
→
Unix timestamp in seconds
moment().unix()
→
Current time in UTC
moment.utc().format()
→
Time in another time zone
needs moment-timezone
Humanize a duration
moment.duration(90, 'minutes').humanize()
→
Add a month at the end of a month
moment('2026-01-31').add(1, 'months').format('YYYY-MM-DD')
→
Call add() without reassigning
(() => { const d = moment('2026-01-01'); d.add(1, 'days'); return d.format('YYYY-MM-DD') })()
→

Code runner

Type an expression that uses moment. It runs right here in your browser, with every plugin from the recipes enabled and the locale above.

Result

Cara memakai Playground Moment.js & Migrasi Day.js

Uji pemformatan, penguraian, waktu relatif, dan durasi Moment.js, dengan hasil Day.js ditampilkan di samping setiap hasil Moment. Perbedaan ditandai, jadi Anda bisa melihat apa yang berubah sebelum memigrasikan basis kode. Kedua pustaka berjalan di browser Anda.

  1. 1

    Atur Tanggal dan waktu acuan serta Locale, dan nyalakan Perlakukan sebagai UTC jika kode Anda memakai moment.utc().

  2. 2

    Ketik pola ke String format; Keluaran menampilkan hasil Moment dan apa yang diberikan Day.js, ditandai Keluaran sama atau Keluaran berbeda.

  3. 3

    Periksa tabel Token format untuk token yang tidak dimiliki Day.js atau membutuhkan plugin, lalu klik token untuk menyisipkannya.

  4. 4

    Bandingkan kedua pustaka di Playground parse, Waktu relatif, dan Durasi, tempat nilai Day.js yang berbeda disorot.

  5. 5

    Gunakan Resep untuk kode berdampingan tugas sehari-hari, lalu klik Coba untuk menjalankan versi Moment di Penjalankan kode.

Pertanyaan umum

Apakah Moment.js masih dipelihara?

Moment.js berada dalam mode pemeliharaan, dan timnya sendiri merekomendasikan pustaka modern untuk proyek baru. Catatan di atas menaut ke halaman status proyek Moment dan ke playground Day.js.

Apa yang biasanya rusak saat beralih ke Day.js?

Kemampuan berubah: add() Moment mengubah objek asli, sementara Day.js mengembalikan yang baru, jadi hasil harus ditetapkan ulang. Banyak fitur juga membutuhkan plugin Day.js, yang dicantumkan setiap resep.

Token format mana yang tidak punya padanan Day.js?

Qo, Mo, DDD, DDDD, e, E, S, dan SS. Tabel Token format menandainya sebagai tidak ada di Day.js dan menamai plugin yang dibutuhkan untuk yang lain.

Mengapa token z dan zzz tidak bekerja di Moment?

Nama zona waktu membutuhkan add-on moment-timezone yang terpisah, yang tidak dimuat halaman ini, jadi tabel menampilkan membutuhkan moment-timezone. Day.js menyediakannya melalui plugin timezone-nya.

Versi mana yang dibandingkan?

Versi persis Moment.js dan Day.js ditampilkan di bawah panel pengaturan.

Apakah kode saya dikirim ke server?

Tidak. Kedua pustaka dan file locale-nya dimuat ke halaman ini, dan semua yang Anda ketik dievaluasi di browser Anda.