สนามทดลอง Moment.js และการย้ายไป Day.js
- ไฟล์ไม่ออกจากอุปกรณ์ของคุณ
- ทำงานในเบราว์เซอร์
- ฟรี ไม่ต้องสมัคร ไม่มีลายน้ำ
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.
วิธีใช้ สนามทดลอง Moment.js และการย้ายไป Day.js
ทดสอบการจัดรูปแบบ การแยกวิเคราะห์ เวลาสัมพัทธ์ และระยะเวลาของ Moment.js โดยผลของ Day.js แสดงข้างผลของ Moment ทุกอัน ความต่างถูกทำเครื่องหมาย เพื่อให้คุณเห็นว่าอะไรจะเปลี่ยนก่อนย้ายโค้ดเบส ไลบรารีทั้งสองทำงานในเบราว์เซอร์ของคุณ
- 1
ตั้งวันที่และเวลาอ้างอิงและภาษา แล้วเปิดถือเป็น UTC หากโค้ดของคุณใช้ moment.utc()
- 2
พิมพ์รูปแบบในสตริงรูปแบบ ผลลัพธ์แสดงผลของ Moment และสิ่งที่ Day.js ให้ ทำเครื่องหมายผลลัพธ์เดียวกันหรือผลลัพธ์ต่างกัน
- 3
ตรวจตารางโทเคนรูปแบบสำหรับโทเคนที่ Day.js ไม่มีหรือต้องใช้ปลั๊กอิน แล้วคลิกโทเคนเพื่อแทรก
- 4
เปรียบเทียบสองไลบรารีในสนามทดลองแยกวิเคราะห์ เวลาสัมพัทธ์ และระยะเวลา โดยค่า Day.js ที่ต่างถูกไฮไลต์
- 5
ใช้สูตรสำหรับโค้ดเคียงข้างของงานประจำวัน แล้วคลิกลองเพื่อรันเวอร์ชัน Moment ในตัวรันโค้ด
คำถามที่พบบ่อย
Moment.js ยังได้รับการดูแลหรือไม่?
Moment.js อยู่ในโหมดบำรุงรักษา และทีมของตัวเองแนะนำไลบรารีสมัยใหม่สำหรับโปรเจกต์ใหม่ ข้อความด้านบนลิงก์ไปหน้าสถานะโปรเจกต์ Moment และไปสนามทดลอง Day.js
อะไรพังบ่อยเมื่อสลับไป Day.js?
ความเปลี่ยนรูปได้: add() ของ Moment เปลี่ยนอ็อบเจกต์เดิม ขณะที่ 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 ที่ตรงถูกแสดงใต้แผงการตั้งค่า
โค้ดของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ ไลบรารีทั้งสองและไฟล์ภาษาโหลดเข้าหน้านี้ และทุกอย่างที่คุณพิมพ์ถูกประเมินในเบราว์เซอร์
