Moment.js mänguväljak
Interaktiivne mänguväljak Moment.js kuupäeva- ja kellaaja API katsetamiseks – vormindamine, parsimine, kuupäevade manipuleerimine reaalajas väljundiga
Sisend
Väljund
Loe mind
Mis on Moment.js?
Moment.js on laialdaselt kasutatav JavaScripti teek kuupäevade parsimiseks, valideerimiseks, manipuleerimiseks ja vormindamiseks. Enne kaasaegsete alternatiivide ilmumist oli Moment.js de‑facto standard kuupäevade käsitlemiseks JavaScripti rakendustes. See pakub puhtast, ahelatavast API‑st, mis muudab kuupäevadega töötamise intuitiivseks ja lihtsaks. Kuigi olemas on uuemaid teeke nagu date-fns ja Luxon, on Moment.js endiselt laialdaselt kasutusel pärandkoodibaasides ning seda hooldatakse aktiivselt veaparanduste osas. Moment.jsi mõistmine on hädavajalik arendajatele, kes töötavad olemasolevate projektidega, mis sellele tuginete.
Miks kasutada kuupäevade manipuleerimise teeki?
JavaScripti sisseehitatud Date objekt on kuulsalt keeruline. Selle käitumine on brauserite lõikes ebaühtlane, kuuindeksid on segadust tekitavad (0‑11 asemel 1‑12), vormindamisvõimalused on piiratud ning sisseehitatud ajavööndi tugi puudub. Moment.jsi‑taolised teegid lahendavad need probleemid, pakkudes ühtset, hästi dokumenteeritud API‑t. Need käsitlevad servjuhtumeid nagu suveaja üleminekud, liigaastad ja lokaadi‑spetsiifilised vormindused automaatselt, säästes arendajatel vigadele altid kuupäevaloogikat nullist kirjutada.
Tööriista kirjeldus
Moment.js Playground on interaktiivne brauseripõhine keskkond Moment.jsi teegiga katsetamiseks. Kirjutage ja käivitage JavaScripti kood otse redaktoris, omades täielikku ligipääsu Moment.jsile ja Moment Timezone’ile. Playground käivitab teie koodi automaatselt, kui kirjutate (debounce‑ga) ning kuvab kogu konsooli väljundi terminali‑stiilis paneelis allpool. See on ideaalne Moment.jsi õppimiseks, kuupäevavormingu stringide testimiseks, kuupäevaarvutuste silumiseks ja ajaga seotud loogika prototüüpimiseks ilma arenduskeskkonda seadistamata.
Näited
Vorminda praegune kuupäev:
const now = moment();
console.log(now.format("MMMM Do, YYYY"));
// Output: December 30th, 2025
console.log(now.format("dddd, h:mm A"));
// Output: Monday, 3:45 PMParsi erinevaid kuupäevavorminguid:
const date1 = moment("2025-12-25", "YYYY-MM-DD");
const date2 = moment("25/12/2025", "DD/MM/YYYY");
const date3 = moment("Dec 25, 2025", "MMM D, YYYY");
console.log(date1.format("dddd")); // Thursday
console.log(date2.isValid()); // true
console.log(date3.month()); // 11 (0-indexed)Arvuta suhteline aeg:
const past = moment().subtract(3, "days");
const future = moment().add(2, "weeks");
console.log(past.fromNow()); // 3 days ago
console.log(future.fromNow()); // in 14 days
console.log(past.from(future)); // 17 days agoKuupäevaarvutused:
const date = moment("2025-01-15");
const nextMonth = date.clone().add(1, "month");
const lastWeek = date.clone().subtract(1, "week");
const endOfMonth = date.clone().endOf("month");
console.log(nextMonth.format("YYYY-MM-DD")); // 2025-02-15
console.log(lastWeek.format("YYYY-MM-DD")); // 2025-01-08
console.log(endOfMonth.format("YYYY-MM-DD")); // 2025-01-31Töö kestustega:
const start = moment("2025-01-01");
const end = moment("2025-12-31");
const duration = moment.duration(end.diff(start));
console.log(duration.asDays() + " days"); // 364 days
console.log(duration.asWeeks() + " weeks"); // 52 weeks
console.log(duration.humanize()); // a yearVõrdle kuupäevi:
const date1 = moment("2025-06-15");
const date2 = moment("2025-12-25");
console.log(date1.isBefore(date2)); // true
console.log(date1.isAfter(date2)); // false
console.log(date1.isSame(date2, "year")); // true
console.log(date1.isBetween("2025-01-01", "2025-08-01")); // trueTööta ajavöönditega:
const now = moment();
console.log(now.tz("America/New_York").format("h:mm A z"));
console.log(now.tz("Europe/London").format("h:mm A z"));
console.log(now.tz("Asia/Tokyo").format("h:mm A z"));Funktsioonid
- Täielik Moment.jsi teek: Juurdepääs kõigile Moment.jsi funktsioonidele, sealhulgas parsimine, vormindamine, manipuleerimine ja võrdlemine
- Ajavööndi tugi: Moment Timezone on eellaaditud, võimaldades töötada ajavöönditega üle kogu maailma
- Reaalajas koodi käivitamine: Kood käivitub automaatselt, kui kirjutate, nutika debouncing‑ga
- Sisseehitatud terminal: Vaadake konsooli väljundit kohe, ilma brauseri arendustööriistu avamata
- Süntaksi esiletõstmine: JavaScripti süntaksi esiletõstmine parema loetavuse jaoks
- Vigade käsitlemine: Käitusaegsed vead kuvatakse selgelt terminali väljundis
Kasutusjuhtumid
- Moment.jsi õppimine: Katsetage API‑d ja näete tulemusi kohe, ilma projekti seadistamiseta
- Vormingu stringide testimine: Proovige erinevaid vormingu sümboleid, et saavutada täpselt soovitud kuupäeva väljund
- Kuupäevaarvutuste silumine: Testige keerukaid kuupäevaarvutusi enne nende rakendamist oma rakenduses
- Ajavööndi konversioonid: Kiirelt teisendage kellaajad erinevate ajavööndite vahel
- Pärandkoodi hooldus: Testige Moment.jsi koodilõike, kui hooldate olemasolevaid rakendusi
Levinumad vormingu sümbolid
| Token | Kirjeldus | Näide |
|---|---|---|
YYYY |
4‑kohaline aasta | 2025 |
YY |
2‑kohaline aasta | 25 |
MM |
2‑kohaline kuu | 01‑12 |
MMM |
Lühike kuu nimi | Jan, Feb |
MMMM |
Täielik kuu nimi | January |
DD |
2‑kohaline päev | 01‑31 |
Do |
Päev järgarvuga | 1st, 2nd, 3rd |
dddd |
Täielik nädalapäeva nimi | Monday |
ddd |
Lühike nädalapäev | Mon |
HH |
24‑tunnine kellaaeg | 00‑23 |
hh |
12‑tunnine kellaaeg | 01‑12 |
mm |
Minutid | 00‑59 |
ss |
Sekundid | 00‑59 |
A |
AM/PM (suurtähed) | AM, PM |
a |
am/pm (väiketähed) | am, pm |
z |
Ajavööndi lühend | EST, PST |
Z |
Ajavööndi nihe | +05:00 |
Levinumad meetodid
| Meetod | Kirjeldus | Näide |
|---|---|---|
moment() |
Loo hetk praeguse ajaga | moment() |
format(string) |
Vorminda stringiks | moment().format("YYYY-MM-DD") |
add(n, unit) |
Lisa aega | moment().add(7, "days") |
subtract(n, unit) |
Lahuta aega | moment().subtract(1, "month") |
startOf(unit) |
Algus ühiku algus | moment().startOf("week") |
endOf(unit) |
Lõpp ühiku lõpp | moment().endOf("month") |
fromNow() |
Suhteline aeg | moment("2025-01-01").fromNow() |
diff(moment) |
Erinevus | momentA.diff(momentB, "days") |
isBefore(moment) |
Enne? | momentA.isBefore(momentB) |
isAfter(moment) |
Pärast? | momentA.isAfter(momentB) |
isSame(moment, unit) |
Sama? | momentA.isSame(momentB, "month") |
isValid() |
Kontrolli kehtivust | moment("invalid").isValid() |
clone() |
Loo koopia | moment().clone() |
tz(zone) |
Muuda ajavöönd | moment().tz("America/New_York") |
Ajaühikud
Moment.js toetab järgmisi ajaühikuid add, subtract, startOf, endOf ja diff operatsioonide jaoks:
years/yquarters/Qmonths/Mweeks/wdays/dhours/hminutes/mseconds/smilliseconds/ms