Playground Moment.js & Migrasi Day.js
- 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.
Format playground
Format tokens
Click a token to insert it into the format string. Examples use the reference date and locale.
| Token | Example | Meaning | |
|---|---|---|---|
| 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-timezone | Time zone abbreviation | ||
| needs moment-timezone | Time 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().
| Shift | 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') |
Durations
Recipes
Everyday tasks with live results. “Try” loads one into the code runner below.
| Task | Moment.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.
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
Atur Tanggal dan waktu acuan serta Locale, dan nyalakan Perlakukan sebagai UTC jika kode Anda memakai moment.utc().
- 2
Ketik pola ke String format; Keluaran menampilkan hasil Moment dan apa yang diberikan Day.js, ditandai Keluaran sama atau Keluaran berbeda.
- 3
Periksa tabel Token format untuk token yang tidak dimiliki Day.js atau membutuhkan plugin, lalu klik token untuk menyisipkannya.
- 4
Bandingkan kedua pustaka di Playground parse, Waktu relatif, dan Durasi, tempat nilai Day.js yang berbeda disorot.
- 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.
