Gosti aplikeeshinii JaavaScriptiin barreeffame kamiyyuu jechuun ni danda'ama yeroo ykn guyyaa wajjin haala tokko tokkoon hojjeta. Jalqaba irratti, kun API Guyyaa ijaarame qofaan daangeffama ture. API kun dalagaa bu'uuraa of keessatti qabata, garuu waan hojjechuu danda'u irratti baay'ee daangeffamaadha. Manneen kitaabaa qaama sadaffaa kan akka Moment.js, fi boodarra APIwwan keessaa ijaaraman kan akka Intl API fi Temporal API haaraa, yeroo fi guyyoota waliin hojjechuuf jijjiirama baay'ee guddaa dabalu. Ka'umsaa Fi Kufaatii Yeroo.js Moment.js mana kitaabaa JaavaScript kan yeroo fi guyyoota waliin hojjechuuf faayidaa humna guddaa qabudha. Innis amaloota API bu'uuraa Guyyaa irraa dhabaman, kan akka naannoo sa'aatii too'achuu of keessatti qabata, fi hojiiwwan waliigalaa hedduu salphisa. Moment akkasumas dalagaalee guyyootaa fi sa'aatii foormaatii gochuuf gargaaran of keessatti qabata. Mana kitaabaa hojiiwwan adda addaa hedduu keessatti bal’inaan itti fayyadamu ta’e. Haa ta'u malee, Moment dhimmoota keessaa qooda isaa qaba ture. Mana kitaabaa guddaa dha, akkasumas hamma baandaa application tokkoo irratti baay’ee dabaluu danda’a. Manni kitaabaa muka raasuu waan hin deeggarreef (amala bundlers ammayyaa kan kutaalee mana kitaabaa hin fayyadamne balleessuu danda’u), manni kitaabaa Moment guutuun yoo dalagaalee isaa tokko ykn lama qofa fayyadamtellee hammatameera. Dhimmi biraa Moment wajjin jiru wantootni inni uumu jijjiiramaa ta'uu isaaniiti. Faankishiniiwwan murtaa'an wanta Moment irratti waamuun bu'aa cinaa qabaa fi gatii wanta sanaa jijjiira. Kunis amala ykn dogoggora hin eegamne fiduu danda'a. Bara 2020tti kunuunsitoonni Moment mana kitaabaa haala suphaa keessa galchuuf murteessan. Misoomni amala haaraan hin hojjetamu, kunuunsitoonni pirojektoota haaraaf akka hin fayyadamne gorsu. Manneen kitaabaa guyyaa JaavaScript biroo jiru, kan akka date-fns, garuu taphataan haaraan magaalaa keessa jira, API kallattiin JavaScript: Temporal keessatti ijaarame. Istaandardii haaraa kan qaawwa API Guyyaa jalqabaa guutu akkasumas daangaawwan Moment fi manneen kitaabaa biroo keessatti argaman tokko tokko furudha. Yeroon Maali? Yeroon API yeroo fi guyyaa haaraa istaandaardii ECMAScript irratti dabalamaa jiruudha, kunis JaavaScript ammayyaa ibsa. Amajjii 20266 irraa eegalee adeemsa TC39 (koree yaada fi dabalata afaan JaavaScript to'atu) sadarkaa 4ffaa irra gaheera, akkasumas ibsa ECMAScript itti aanu keessatti hammatama. Duraanis biraawzaroota hedduu irratti hojiirra ooleera: Chrome 144+ fi Firefox 139+, Safari yeroo dhiyootti akka hordofu eegama. Akkasumas, polyfill biraawzaroota hin deeggaramnee fi Node.js ni argama. APIn Yeroo wantoota, akka waliigalaatti, yeroowwan yeroo keessatti bakka bu'an uuma. Isaan kun naannoo sa’aatii murtaa’e keessatti chaappaawwan yeroo guutuu fi guyyaa ta’uu danda’u, ykn fakkeenya waliigalaa sa’aatii “sa’aatii dallaa” naannoo sa’aatii ykn odeeffannoo guyyaa tokko malee ta’uu danda’u. Amaloota ijoo Temporal keessaa muraasni:
Yeroo guyyaa waliin ykn hin qabne.Wantichi yeroo murtaa'e guyyaa murtaa'e irratti, ykn sa'aatii odeeffannoo guyyaa tokko malee bakka bu'uu danda'a. Guyyaan murtaa’e, yeroo malee, bakka bu’uus ni danda’a. Deeggarsa naannoo sa'aatii.Wantoonni yeroo guutummaatti naannoo sa'aatii kan beekaniifi naannoo sa'aatii adda addaa keessatti jijjiiramuu danda'u. Moment naannoo sa'aatii ni deeggara, akkasumas, garuu mana kitaabaa naannoo sa'aatii dabalataa barbaada. Immutability.Wanti Temporal erga uumamee booda jijjiiramuu hin danda'u. Jijjiirraan herrega sa'aatii ykn naannoo sa'aatii wanta jala hin fooyyessa. Inumaayyuu, wanta Yeroo haaraa maddisiisu. 1-based indexing.Maddi dogoggoraa baay'ee API Guyyaa (akkasumas Moment) wajjin ji'oonni zeeroo-indexed ta'uu isaaniiti. Kana jechuun Guraandhala ji'a 0 dha, ji'a 1 osoo hin taane akkuma hundi keenya jireenya dhugaa keessatti hubannu. Yeroon kana indeeksii 1 irratti hundaa'e fayyadamuun sirreessa — Guraandhala ji'a 1 dha. Innis browser keessatti ijaarameera.Temporal API browser ofii isaa keessa jiru waan ta’eef, guddina bundle application keessanii irratti homaa hin dabalu.
Akkasumas APIn Guyyaa akka hin deemne hubachuun barbaachisaadha. Yeroo Temporal API kana bakka bu'u, hin haqamu ykn hin hafne. Appilikeeshiniiwwan hedduun yoo biraawzaroonni akka tasaa API Guyyaa haqan ni caccabu. Haa ta'u malee, akkasumas Moment amma haala suphaa keessatti pirojektii hambaa ta'ee fudhatamuu isaa yaada keessa galchaa. Barreeffama hafe keessatti, “qophii nyaataa” tokko tokko koodii Moment irratti hundaa’e gara API Temporal haaraatti godaansisuuf ni ilaalla. Mee refactoring haa jalqabnu! Wantoota Guyyaa Fi Sa'aatii Uumuu Guyyaa fi sa'aatii too'achuu keenya dura wantoota isaan bakka bu'an uumuu qabna. Wanti Moment guyyaa fi sa'aatii ammee bakka bu'u uumuuf, faankishinii moment fayyadami. const amma = yeroo (); konsolii.log(amma); // Yeroo<2026-02-18T21:26:29-05:00>
Wanti kun amma akka barbaachisummaa isaatti foormaatii ykn too'achuu danda'a.
// gara UTC tti jijjiiri //akeekkachiisa: Kun wanta Moment jijjiiree haalata UTC keessa galcha! konsolii.log (amma.utc ()); // Yeroo<2026-02-19T02:26:29Z>
// dhangii foormaatii ta'e maxxansuu - amma yeroo UTC fayyadamaa akka jiru hubadhu konsolii.log (amma.format ('MM / DD / YYYY hh: mm: ss a')); // 02/19/2026 02:27:07 ganama
Wanti ijoo waa'ee Moment yaadatamuu qabnu wanti Moment yeroo hunda odeeffannoo waa'ee sa'aatii fi guyyaa of keessatti qabata. Yoo odeeffannoo yeroo qofa waliin hojjechuu barbaadde, kun yeroo baayyee gaarii dha, garuu haalawwan akka Sa'aatii Qusannaa Guyyaa ykn waggoota utaalcha keessatti amala hin eegamne fiduu danda'a, bakka guyyaan shallaggii yeroo irratti dhiibbaa qabaachuu danda'u. Yeroon caalaatti kan jijjiiramudha. Wanticha guyyaa fi sa'aatii ammee bakka bu'u uumuu dandeessa wanta Temporal.Instant uumuudhaan. Kun yeroo yeroo “bara” (halkan walakkaa UTC Guraandhala 1, 1970) irraa eegalee ibsame bakka bu’a. Temporal yeroo keessatti battaluma kana sirritti sadarkaa naannoosekondiitiin wabii gochuu danda’a. const amma = Yeroo.Amma.battalaa ();
// erga bara sanaa kaasee naannoosekondii raw ilaali konsolii.log (amma.epochNaanosekondii); // 1771466342612000000n
// bifa UTC tiif konsolii.log (amma.garaDhangii ()); // 2026-02-19T01:55:27.844Z irratti kan argamu
// bifa naannoo sa'aatii murtaa'eef console.log(amma.garaString({ Naannoo yeroo: 'Ameerikaa/Niwu_York' })); // 2026-02-18T20:56:57.905-05:00 irratti kan argamu
Yeroo.Wantoonni battalaa mala istaatiksii irraa fayyadamuun yeroo fi guyyaa murtaa'eef uumuun ni danda'ama.
const myInstant = Yeroo.Battalaa.irraa ('2026-02-18T21:10:00-05:00');
// Battalaa naannoo sa'aatii naannoo keessatti foormaatii godhi. Kun qofa akka to'atu hubadhu // foormaatii - akka moment.utc wanta hin jijjiiru. console.log(myInstant.toString({ Naannoo yeroo: 'Ameerikaa/Niwu Yoork' })); // 2026-02-18T21:10:00-05:00
Akkasumas gosoota wantoota Yeroo biroo uumuu dandeessa, kanneen keessaa:
Temporal.PlainDate: Guyyaa odeeffannoo yeroo hin qabne. Temporal.PlainTime: Yeroo odeeffannoo guyyaa hin qabne. Temporal.ZonedDateTime: Guyyaa fi sa'aatii naannoo sa'aatii murtaa'e keessatti.
Tokkoon tokkoon isaanii mala irraa kan wanta guyyaa fi/ykn sa'aatii ifteessuudhaan waamamuu danda'u qaba, ykn dhangii guyyaa qoqqooduuf. // Guyyaa qofa const har'a = Yeroo.Guyyaa Dirree.irraa({ bara: 2026, ji'a: 2, // hubadhu Fulbaanaaf 2 fayyadamaa jirra guyyaa: 18 }); konsolii.log (har'a.garaDhangii ()); // 2026-02-18
// Yeroo qofa const Yeroo laaqanaa = Yeroo.Yeroo Ifa.irraa({ sa’aatii: 12 }); konsoolii.log (Yeroo laaqanaa.garaDhangii ()); // Sa'aatii 12:00:00
// Guyyaa fi sa'aatii naannoo sa'aatii US Bahaa const dueAt = Yeroo.YerooGuyyaa Zoonii.irraa({ naannoo yeroo: 'Ameerikaa/Niwu_York', . bara: 2026, ji'a: 3, 2019. guyyaa: 1, 2020. sa'aatii: 12, 12. daqiiqaa: 0, 10. lammaffaa: 0 }); konsolii.log (dueAt.toString ()); // 2026-03-01T12:00:00-05:00[Ameerikaa/Niwu_York].
Parsing gochuu Odeeffannoo guyyaa fi sa’aatii sagantaa uumuu uwwifneerra. Amma parsing haa ilaallu. Parsing naannoo tokko kan Moment Temporal API keessaa ijaarame caalaa daddabbii qabudha. Dhangii guyyaa gara faankishinii yerootti dabarsuudhaan parse gochuu dandeessa. Murtii tokkoon, Moment dhangii guyyaa ISO eega, garuu yoo murfii lammaffaa bifa guyyaa fayyadamaa jiru ifteessuu kennite bifa filannoo fayyadamuu dandeessa.
const isoDate = yeroo ('2026-02-21T09:00:00'); const formattedDate = yeroo ('2/21/26 9:00:00', 'M / D / YY h: mm: ss');
konsolii.log (Guyyaa iso); // Yeroo<2026-02-21T09:00:00-05:00>
console.log (Guyyaa foormaatii ta'e); // Yeroo<2026-02-21T09:00:00-05:00>
Gosoota durii keessatti, Moment tarree guyyaa akka fedhetti foormaatii ta'e kamiyyuu parse gochuuf tilmaama gaarii ta'a. Kunis bu’aa tilmaamuun hin danda’amne fiduu danda’a. Fakkeenyaaf 02-03-2026 Fulbaana 2 moo Amajjii 3? Sababa kanaaf, gosootni haaraan Moment akeekkachiisa hir’ina mul’ataa agarsiisu yoo dhangii guyyaa ISO foormaatii ta’e malee waamame (yoo murfiin lammaffaan bifa barbaadame waliinis kenname malee). Yeroon dhangii guyyaa addatti foormaatii ta'e qofa parse. Dhangii bifa ISO 8601 ykn dheerina isaa, RFC 9557. Yoo dhangii guyyaa hin walsimne gara mala irraa darbe, Temporal RangeError darbata.
// Dhangii guyyaa RFC 9557 fayyadamuu const myDate = Yeroo.Instant.from ('2026-02-21T09:00:00-05:00[Ameerikaa/Niwu_York]'); console.log(myDate.toString({ Naannoo yeroo: 'Ameerikaa/Niwu_York' })); // 2026-02-21T09:00:00-05:00
// Dhangii guyyaa hin beekamne fayyadamuu const Guyyaa biraa = Yeroo.Battalaa.irraa ('2/21/26 9:00:00'); // RangeError: Dogoggora yeroo: Arfii sirrii hin taane yeroo gatii waggaa qoqqoodamu.
Ulaagaaleen sirrii dhangii guyyaa gosa wanta Yeroo kam akka uumtu irratti hundaa’a. Fakkeenya armaan olii keessatti Temporal.Instant ISO guutuu barbaada8601 ykn RFC 9557 dhangii guyyaa guyyaa fi sa'aatii ofseeti naannoo sa'aatii wajjin ifteessuu, garuu wanta PlainDate ykn PlainTime tuuta xiqqaa bifa guyyaa qofa fayyadamuun uumuu dandeessa. const myDate = Yeroo.Guyyaa Dirree.irraa ('2026-02-21'); konsolii.log (Guyyaa koo.garaDhangii ()); // 2026-02-21 irratti
const Yeroo koo = Yeroo.Yeroo Ifa.irraa ('09:00:00'); konsolii.log (Yeroo koo.garaDhangii ()); // 09:00:00 irratti kan argamu
Hubadhu, dhangiiwwan kun ammallee bifa eegamee wajjin walsimuu qabu, yookaan dogongorri ni darbatama.
// Dhangiiwwan yeroo hin guunne fayyadamuu. Kun hundi RangeError ni darbatu. Yeroo.Yeroo Ifa.irraa('9:00'); Yeroo.Yeroo Ifa.irraa('9:00:00 AM');
Gorsa pro: Dhangiiwwan ISO hin taane qabachuuTemporal amanamummaa dursa waan kennuuf, bifa dhangii akka 02-01-2026 tilmaamuuf hin yaalu. Yoo maddi deetaa kee dhangiiwwan akkasii fayyadame, Temporal waliin fayyadamuuf osoo hin yaalin dura gatiiwwan gara dhangii ISO akka 2026-02-01tti irra deebitee qindeessuuf too'annoo dhangii tokko tokko gochuu si barbaachisa.
Foormaatii gochuu Erga wanta Moment ykn Temporal qabaattee booda, yeroo tokkotti gara dhangii foormaatii ta’etti jijjiiruu barbaaduun kee hin oolu. Kun fakkeenya Moment xiqqoo gabaabaa ta'eedha. Mala bifa wantaa tarree mallattoolee bifa guyyaa barbaadame ibsaniin waamta. const guyyaa = yeroo ();
konsolii.log (guyyaa.format ('MM / DD / YYYY')); // Gaafa 02/22/2026
konsolii.log (guyyaa.format ('MMMM YYYY Hojjedhu, h: mm: ss a')); // Fulbaana 22, 2026, galgala sa'aatii 8:18:30
Gama biraatiin Temporal xiqqoo dubbii dubbachuu si gaafata. Wantoonni yeroo, kan akka Instant, mala toLocaleString kan filannoowwan foormaatii adda addaa akka qabeentota wantaatti ifteessaman fudhatu qabu.
const date = Yeroo.Amma.battalaa ();
// murfii tokko malee, bifa durtii naannoo ammaa ni arganna konsolii.log (guyyaa.garaDhangiiBakka()); // 2/22/2026, 8:23:36 PM (naannoo en-US jennee fudhachuudhaan)
// filannoowwan foormaatii dabarsuun tarree bifa amala uumuuf konsolii.log(guyyaa.garaDhangiiIddoo('en-US', { ji'a: 'dheeraa', . guyyaa: 'lakkoofsa', . bara: 'lakkoofsa', . sa'aatii: 'dijiitii 2', . daqiiqaa: 'dijiitii 2'. })); // Fulbaana 22, 2026 sa'aatii 8:23 PM irratti
// man'eewwan barbaadde qofa tarree bifa keessatti dabarsuu konsolii.log(guyyaa.garaDhangiiIddoo('en-US', { ji'a: 'gabaabaa', . guyyaa: 'lakkoofsa'. })); // Fulbaana 22
Foormaatii guyyaa yeroo dhugumatti API Intl.DateTimeFormat (kan duraan dursee biraawzaroota ammayyaa keessatti salphaatti argamu) hood jalatti fayyadama. Kana jechuun wanta DateTimeFormat irra deebi'amee fayyadamuu danda'u filannoowwan foormaatii amala keetii wajjin uumuu dandeessa, sana booda wanta Yeroo gara mala foormaatii isaatti dabarsuu dandeessa. Sababa kanaan akka Moment bifa guyyaa amala hin deeggaru. Yoo waan akka 'Q1 2026' ykn foormaatii addaa biroo barbaadde, koodii foormaatii guyyaa amala tokko tokko ykn mana kitaabaa qaama sadaffaa bira ga'uu si barbaachisuu danda'a. const formatter = haaraa Intl.GuyyaaYerooFormat('en-US', { . ji'a: 'dijiitii 2', . guyyaa: 'dijiitii 2', . bara: 'lakkoofsa'. });
const date = Yeroo.Amma.battalaa (); konsolii.log (foormaatii.foormaatii(guyyaa)); // Gaafa 02/22/2026
Mallattoolee foormaatii Moment’s barreessuuf salphaadha, garuu naannoodhaaf mijatoo miti. Akkaataan wantoota akka tartiiba ji'aa/guyyaa “hard code” tarreessa. Faayidaan wanta qindeessaa fayyadamuu, akkuma Temporal godhu, ofumaan naannoo kenname kamiyyuutti madaqsuu fi bifa sirrii fayyadamuu isaati. const date = Yeroo.Amma.battalaa ();
const formatFilannoowwan = { . ji'a: 'lakkoofsa', . guyyaa: 'lakkoofsa', . bara: 'lakkoofsa'. };
konsolii.log (guyyaa.garaDhangiiBakka('en-US',Filannoowwan bifa)); // 2/22/2026 guyyaa har'aa
konsolii.log (guyyaa.garaDargaaBakka('en-GB',Filannoowwan bifa)); // 22/02/2026 guyyaa har'aa
Shallaggii guyyaa Appilikeeshiniiwwan baay’ee keessatti, shallaggii tokko tokko guyyaa tokkotti raawwachuudhaan xumuruu si barbaachisa. Yuunitii yeroo (guyyoota, sa'aatii, sekondii fi kkf) dabaluu ykn hir'isuu barbaadda ta'a. Fakkeenyaaf, yoo guyyaa ammaa qabaatte, guyyaa torban 1 booda fayyadamaatti agarsiisuu barbaadda ta'a. Wantoonni momeentii malawwan akka ida'uu fi hir'isuu kanneen hojiiwwan kana raawwatan qabu. Faankishiniiwwan kun gatii fi yuunitii fudhatu, fakkeenyaaf: add(7, 'guyyoota'). Garaagarummaan baay'ee barbaachisaan tokko Moment fi Temporal gidduu jiru garuu, shallaggii guyyaa kana yeroo raawwannu, wanti jala jiru fooyya'ee gatii isaa jalqabaa ni bada. const amma = yeroo ();
konsolii.log(amma); // Yeroo<2026-02-24T20:08:36-05:00>
const Torban itti aanu = amma.dabala (7, 'guyyoota'); console.log(Torban itti aanu); // Yeroo<2026-03-03T20:08:36-05:00>
// Gotcha - wanti jalqabaa jijjiirame konsolii.log(amma); // Yeroo<2026-03-03T20:08:36-05:00>
Guyyaa jalqabaa akka hin dhabneef, waraabbii uumuuf wanta Moment irratti clone waamuun ni danda'ama. const amma= yeroo (); const Torban itti aanu = amma.kloonii ().dabaluu (7, 'guyyoota');
konsolii.log(amma); // Yeroo<2026-02-24T20:12:55-05:00>
console.log(Torban itti aanu); // Yeroo<2026-03-03T20:12:55-05:00>
Gama biraatiin wantootni Yeroo kan hin jijjiiramne dha. Erga wanta akka Instant, PlainDate, fi kkf uumtee booda, gatii wanta sanaa gonkumaa hin jijjiiramu. Wantoonni yeroo mala ida'uu fi hir'isuus qabu. Yeroon xiqqoo filannoodha waa'ee yuunitii yeroo kam gosoota wanta kam irratti dabalamuu akka danda'u. Fakkeenyaaf, guyyoota Instant tokkotti dabaluu hin dandeessu:
const amma = Yeroo.Amma.battalaa (); const Torban itti aanu = amma.dabala ({ guyyoota: 7 }); // RangeError: Dogoggora yeroo: Yuunitiin guddaan yuunitii guyyaa ta'uu hin danda'u
Sababni isaas wantootni Battalaa qabxii yeroo murtaa'e UTC keessatti bakka bu'anii fi kalaandarii-agnostic waan ta'aniif. Dheerinni guyyaa tokkoo seera naannoo sa’aatii kan akka Sa’aatii Qusannaa Guyyaa irratti hundaa’uun jijjiiramuu waan danda’uuf, shallaggiin kun Battala irratti hin argamu. Haa ta'u malee, hojii kana gosoota wantoota biroo irratti raawwachuu dandeessa, kan akka PlainDateTime: const amma = Yeroo.Amma.YerooGuyyaa ifa ta'eISO (); konsolii.log (amma.garaDhangiiBakka()); // 2/24/2026, sa'aatii 8:23:59 irratti
const Torban itti aanu = amma.dabala ({ guyyoota: 7 });
// Hubadhaa, PlainDateTime inni jalqabaa osoo hin jijjiiramne hafe konsolii.log (amma.garaDhangiiBakka()); // 2/24/2026, sa'aatii 8:23:59 irratti
konsolii.log (Torban itti aanu.garaDhangiiNaannoo()); // 3/3/2026, sa'aatii 8:23:59 PM
Akkasumas yeroon meeqa wantoota Moment ykn Temporal lama gidduu akka jiru shallaguu dandeessa. Faankishinii Moment’s diff wajjin, yuunitii granularity’f kennuu qabda, yoo kana hin taane garaagarummaa milisekondiidhaan deebisa. const guyyaa1 = yeroo ('2026-02-21T09:00:00'); const guyyaa2 = yeroo ('2026-02-22T10:30:00');
konsolii.log (guyyaa2.garaagarummaa (guyyaa1)); // 91800000 irratti kan argamu
console.log (guyyaa2.diff (guyyaa1, 'guyyoota')); // 1. 1.
Kana wanta Yeroo wajjin gochuuf, wanta Yeroo biraa gara malawwan isaa hanga ykn erga sanaatti dabarsuu dandeessa. Kunis wanta Temporal.Duration kan odeeffannoo waa'ee garaagarummaa yeroo of keessaa qabu deebisa. Wanti Turtii tokkoon tokkoo qaama garaagarummaaf amaloota qaba, akkasumas dhangii turtii ISO 8601 garaagarummaa yeroo bakka bu'u uumuu danda'a.
const guyyaa1 = Yeroo.YerooGuyyaa Ifa.irraa ('2026-02-21T09:00:00'); const guyyaa2 = Yeroo.YerooGuyyaa Ifa.irraa ('2026-02-22T10:30:00');
// largestUnit yuunitii yeroo guddaa bakka bu'uuf ifteessa // shallaggii yeroo keessatti const diff = guyyaa2.erga (guyyaa1, { Yuunitii guddaa: 'guyyaa' });
konsolii.log (guyyoota.garaagarummaa); // 1. 1.
konsolii.log (garaagarummaa.sa'aatii); // 1. 1.
konsolii.log (garaagarummaa.daqiiqaa); // 30.
konsolii.log (garaagarummaa.garaDhangii ()); // P1DT1H30M jedhamuun beekama // (ISO 8601 turtii tarree: guyyaa 1, sa'aatii 1, daqiiqaa 30)
Guyyaa Fi Yeroo Walbira Qabsiisuu Moment fi Temporal lamaan isaanii iyyuu guyyoota fi sa'aatii wal bira qabuun kamtu isa kaan dura akka dhufu murteessuuf isin gargaaru, garuu API waliin mala adda addaa fudhadhaa. Moment malawwan akka isBefore, isAfter, fi isSame wantoota Moment lama walbira qabuuf kenna. const guyyaa1 = yeroo ('2026-02-21T09:00:00'); const guyyaa2 = yeroo ('2026-02-22T10:30:00');
konsoolii.log (guyyaa1.IsaDura (guyyaa2)); // dhugaadha
Yeroon mala walmadaalchisuu istaatiksii fayyadamuun wantoota gosa walfakkaataa lama gidduutti walmadaalchisuu raawwata. Yoo guyyaan jalqabaa isa lammaffaa dura dhufe -1, yoo walqixa ta'an 0, ykn yoo guyyaan jalqabaa isa lammaffaa booda dhufe 1 deebisa. Fakkeenyi armaan gadii akkaataa wanta PlainDate lama walbira qabuu agarsiisa. Murfiiwwan lamaan gara Temporal.PlainDate.compare wanta PlainDate ta'uu qabu.
const guyyaa1 = Temporal.PlainDate.from({ bara: 2026, ji'a: 2, guyyaa: 24 }); const date2 = Temporal.PlainDate.from({ bara: 2026, ji'a: 3, guyyaa: 24 });
// guyyaan1 guyyaa2 dura dhufa, kanaaf -1 console.log(Yeroo.Guyyaa Diimaa.walbira qabi (guyyaa1, guyyaa2));
// Dogoggora yoo wantoota gosa adda addaa lama walbira qabuuf yaalne console.log(Yeroo.Guyyaa Ifa.walbira qabi (guyyaa1, Yeroo.Amma.battalaa ())); // TypeError: Dogoggora yeroo: Dirreewwan PlainDate sirrii hin taane kennaman.
Keessattuu, kun tarree wantoota Yeroo tartiiba yerootiin saaguu salphaa taasisa. // Tarree wanta Temporal.PlainDate guyyoota const = [ ... ];
// akka faankishinii walbira qabuutti Temporal.PlainDate.compare fayyadami guyyoota.sort(Yeroo.Guyyaa Dirree.walbira qabi);
Jijjiirraa Naannoo Yeroo Manni kitaabaa Moment ijoo jijjiirraa naannoo sa’aatii hin deeggaru. Yoo dalagaa kana barbaadde, akkasumas paakeejii moment-timezone fe'uu qabda. Paakeejiin kun mukaan kan raafamu miti, kanaaf hammangaa baandaa kee irratti baay'ee dabaluu danda'a. Erga naannoo-sa’aatii momeentii fe’attee booda, mala tz’n wantoota Moment gara naannoo sa’aatii adda addaatti jijjiiruu dandeessa. Akkuma hojiiwwan Moment biroo, kun kan jala jiru jijjiirameeshaa. // Yeroo US Bahaa fudhachuun const amma = yeroo (); konsolii.log(amma); // Yeroo<2026-02-28T20:08:20-05:00>
// Gara yeroo Paasifikii jijjiiri. // Yeroon Bahaa inni jalqabaa badeera. now.tz('Ameerikaa/Los_Angeles'); konsolii.log(amma); // Yeroo<2026-02-28T17:08:20-08:00>
Hojiin naannoo sa'aatii yeroo wanta Temporal.ZonedDateTime fayyadamtu gara API Yeroo keessatti ijaarama. Wantoonni kun mala withTimeZone kan ZonedDateTime haaraa yeroo walfakkaataa yeroo bakka bu'u, garuu naannoo sa'aatii ifteessame keessatti deebisu of keessatti qabatu. // Ammas, yeroo US Bahaa fudhachuun const amma = Yeroo.Amma.ZooniiGuyyaaYerooISO (); konsolii.log (amma.garaDhangiiBakka()); // 2/28/2026, sa'aatii 8:12:02 PM EST
// Gara yeroo Paasifikii jijjiiri const nowPacific = amma.withTimeZone('Ameerikaa/Erjoomtoota_Kasaaraa'); konsolii.log (amma Paasifiik.garaDhangiiNaannoo()); // 2/28/2026, sa'aatii 5:12:02 PST
// Wanti jalqabaa osoo hin jijjiiramne hafa konsolii.log (amma.garaDhangiiBakka()); // 2/28/2026, sa'aatii 8:12:02 PM EST
Hubachiisa: Gatiin foormaatii toLocaleString'n deebi'e, akkuma maqaan ibsutti, naannoo irratti hirkataa dha. Koodiin fakkeenyaa kan hojjetame naannoo en-US keessatti waan ta'eef, bifaan akkas: 2/28/2026, 5:12:02 PM PST. Naannoo biraa keessatti, kun adda ta’uu danda’a. Fakkeenyaaf, en-GB locale keessatti, waan akka 28/2/2026, 17:12:02 GMT-8 argatta turte. Refactoring Addunyaa Dhugaa Mee appii taateewwan naannoo sa’aatii hunda saganteessuuf ijaaraa jirra haa jennu. Kutaan appii kanaa faankishinii, getEventTimes, kan dhangii ISO 8601 kan sa'aatii fi guyyaa taatee, naannoo sa'aatii naannoo, fi naannoo sa'aatii galma bakka bu'u fudhata. Faankishinichi dhangiiwwan sa'aatii fi guyyaa foormaatii ta'an taateef naannoo sa'aatii lamaan keessatti uuma. Yoo faankishinichi dhangii galtee dhangii yeroo/guyyaa sirrii hin taane kennameef, dogongora ni darbata. Kunoo hojiirra oolmaan jalqabaa, Moment fayyadamuun (akkasumas fayyadama paakeejii naannoo-sa’aatii barbaada).
'moment-timezone' irraa momeentii galchuu;
function getEventTimes(GalteeDargaa, ZooniiYeroo fayyadamaa, ZooniiYeroo galma) { . const yerooFormat = 'MMM D, YYYY, h:mm:ss a z';
// 1. Yeroo jalqabaa naannoo sa'aatii fayyadamaa keessatti uumi const Yeroo taatee = yeroo.tz( . Dhangii galtee, . moment.ISO_8601, // Dhangii ISO 8601 eegi dhugaa, // Qophii cimaa ZooniiYeroo fayyadamaa );
// Yoo inputString guyyaa sirrii hin bakka buune dogongora darbadhu yoo (!Yeroon taatee.Sirriidha()) { throw new Error('Galtee guyyaa/yeroo sirrii hin taane'); } .
// 2. Yeroo galma shallagi // CRITICAL: Clone gochuu qabna, yookaan 'eventTime' bara baraan ni jijjiirama! const Yeroo Galma = Yeroo Taatee.kloonii ().tz (ZooniiYeroo galma);
return { . naannoo: eventYeroo.format(yerooFormat), . galma: targetTime.format(yerooFormat), . }; } .
sagantaa const = YerooTaateewwan argachuu( '2026-03-05T15:00-05:00', 'Ameerikaa/Niwu_York', 'Awurooppaa/London', . );
konsolii.log(sagantaa.naannoo); // Sadaasa 5, 2026, sa'aatii 3:00:00 pm EST
konsolii.log (sagantaa.galma); // Sadaasa 5, 2026, sa'aatii 8:00:00 galgala GMT
Fakkeenya kana keessatti, bifa guyyaa eegamu ISO 8601 fayyadamaa jirra, kunis gargaarsa ta’ee Moment keessatti ijaarame. Akkasumas parsing cimaa fayyadamaa jirra, kana jechuun Moment tarree guyyaa bifa waliin wal hin simneen tilmaamuuf hin yaalu jechuudha. Yoo dhangii guyyaa ISO hin taane darbe, wanta guyyaa sirrii hin taane fida, dogongora darbanna. Hojiirra oolmaan Yeroo walfakkaata fakkaata, garuu garaagarummaa ijoo muraasa qaba.
function getEventTimes(GalteeDargaa, ZooniiYeroo fayyadamaa, ZooniiYeroo galma) { . // 1. Galtee kallattiin gara Instant tti parse, sana booda uumi // a ZonedDateTime zoonii fayyadamaa keessatti. const battalaa = Yeroo.Battalaa.irraa(DhangiiGaltee); const eventTime = battalaa.garaZonedDateTimeISO (ZooniiYeroo fayyadamaa);
// 2. Gara naannoo galmaatti jijjiiri // Kun ofumaan wanta HAARAA deebisa; 'eventTime' nageenya qaba. const Yeroo galma = Yeroo taatee.ZooniiYeroo waliin(ZooniiYeroo galma);
// 3. Intl fayyadamuun foormaatii (kan ijaarame) . filannoowwan const = { . bara: 'lakkoofsa', . ji'a: 'gabaabaa', . guyyaa: 'lakkoofsa', . sa'aatii: 'lakkoofsa', . daqiiqaa: 'dijiitii 2', . lammaffaa: 'dijiitii 2', . yerooMaqaaZone: 'gabaabaa'. };
return { . naannoo: eventTime.toLocaleString(navigator.afaan, filannoowwan), . galma: targetTime.toLocaleString(navigator.afaan, filannoowwan) . }; } .
sagantaa const = YerooTaateewwan argachuu( '2026-03-05T15:00-05:00', 'Ameerikaa/Niwu_York', 'Awurooppaa/London', . );
konsolii.log(sagantaa.naannoo); // Sadaasa 5, 2026, Sa'aatii 3:00:00 PM EST
konsolii.log(sagantaa.galma); // Sadaasa 5, 2026, Sa'aatii 8:00:00 PM GMT
Moment waliin, dhangiiwwan guyyaa bu'aa ta'aniif dhangii bifa ifatti ifteessuu qabna. Bakki fayyadamaan ykn naannoon isaa maal iyyuu yoo ta’e, yeroon taateewwanii yeroo hunda akka Mar 5, 2026, 3:00:00tti ni foormaatii ta’apm EST irratti. Akkasumas, ifatti ala darbachuu hin qabnu. Yoo dhangii sirrii hin taane gara Temporal.Instant.from tti darbe, Temporal ala nuuf darbata. Wanti hubatamuu qabu tokko, parsing cimaa ta'een illee, version Moment ammallee caalaatti lenient dha. Yeroon ofseeti naannoo sa'aatii dhuma dhangii irratti barbaada. Akkasumas, navigator.language waan fayyadamnuuf, koodii kun naannoo biraawzari qofa keessatti akka hojjetu hubachuu qabda, sababiin isaas navigator naannoo Node.js keessatti waan hin ibsamneef. Hojiirra oolmaan Yeroo naannoo ammaa biraawzari (navigator.language) fayyadama, kanaaf fayyadamaan ofumaan yeroowwan taateewwan bifa sa’aatii naannoo isaaniitiin foormaatii ta’an ni argata. Naannoo en-US keessatti, kun Mar 5, 2026, 3:00:00 pm EST. Haa ta'u malee, yoo fayyadamaan Landan keessa jiraate, fakkeenyaaf, sa'aatiin taateewwanii akka 5 Mar 2026, 15:00:00 GMT-5tti ni foormaatii ta'a. Cuunfaa
Tarkaanfii Yeroo.js Yeroodhaaf Yeroo ammaa yeroo() . Yeroo.Amma.zonedGuyyaaYerooISO() . ISO qoqqooduun yeroo(str) . Yeroo.Battalaa.irraa(str) . Yeroo itti dabali .add(7, 'guyyoota') (jijjiirama) . .add({ guyyoota: 7 }) (wanta haaraa) . Garaagarummaa .diff(kan biroo, 'sa'aatii') . .erga(kanneen biroo).sa'aatii Naannoo sa'aatii .tz('Zoonii/Maqaa') . .withTimeZone('Zoonii/Maqaa') .
Jalqaba irratti, garaagarummaan xiqqoo adda ta'uu danda'a (fi haala Temporal keessatti, yeroo tokko tokko caalaatti dubbii fi cimaa) sintaksii, garuu Temporal Moment.js irratti fayyadamuun faayidaa ijoo hedduu qaba:
Caalaatti ifa ta'uun waan nama ajaa'ibuu fi dogoggora hin yaadamne xiqqaachuu jechuudha. Yeroon caalaatti salphaa fakkaachuu danda’a, garuu “tilmaama” kan of keessaa qabu yoo ta’u, kunis yeroo tokko tokko guyyoota sirrii hin taane fiduu danda’a. Yoo Temporal waan sirrii hin taane kennite, dogongora darbata. Yoo koodichi hojjete, guyyaa sirrii akka qabdu beekta. Moment guddina guddaa gara bundle application’tti dabaluu danda’a, keessumaa yoo paakeejii moment-timezone fayyadamte. Temporal homaa hin dabalu (erga biraawzaroota galma keessan keessatti ergamee booda). Jijjiiramuu dhabuun yeroo jijjiirraa guyyaa fi hojii raawwattu deetaa gonkumaa akka hin dhabne ykn akka irra hin barreessine amantaa siif kenna. Bakka bu'iinsa yeroo adda addaa (Instant, PlainDateTime, ZonedDateTime) barbaachisummaa kee irratti hundaa'uun, bakka Moment yeroo hunda marfama naannoo chaappaa yeroo UTC ta'etti. Temporal APIwwan Intl foormaatii guyyaatiif fayyadama, kana jechuun osoo mallattoolee ifatti ifteessuu hin barbaachisin foormaatii naannoo-beekaa qabaachuu dandeessa.
Yaadannoowwan Polyfill Irratti Akkuma duraan jedhame, Temporal polyfill ni jira, akka paakeejii npm maqaa @js-temporal/polyfill jedhamutti raabsama. Yoo har’a Temporal fayyadamuu barbaadde, browser akka Safari kan ammallee API hin ergin deeggaruuf polyfill kana si barbaachisa. Oduu gadhee kana waliin jiru guddina baandaa keessanii irratti dabaluu isaati. Oduu gammachiisaa ammallee moment ykn moment-timezone irraa haalaan xiqqaa ta'e dabalata. Kunoo walmadaalchisuun safara baandaa akka Bundlephobia.com gabaasetti, marsariitii odeeffannoo safara paakeejii npm dhiyeessu (xiinxala Bundlephobia ilaaluuf maqaa paakeejii tokkoon tokkoo cuqaasaa):
Paakeejii Xiqqaafame Xiqqaafame & gzipped @js-yeroo/guutuu baay'ee 154.1 kB ta’a 44.1 kB ta’a yeroo sanatti 294.4 kB ta’a 75.4 kB ta’a naannoo yeroo-sa’aatii 1 MB 114.2 kB ta’a
Akkasumas, polyfill seenaa keessatti dhimmoota raawwii tokko tokko naannoo itti fayyadama yaadannoo qaba ture, yeroo barreeffamni kun barreeffamus, haala alfaa keessa akka jirutti ilaalama. Sababa kanaan hanga haala bilchaataa irra gahutti oomisha keessatti fayyadamuu hin barbaaddu ta'a. Oduu gammachiisaa inni biraan immoo, polyfill’n kana booda baay’ee akka hin barbaachifne abdii qabna (yoo biraawzaroota durii deeggaruun yoo isin barbaachise malee, beekamaadha). Yeroo barreeffama kana barreessinu Temporal Chrome, Edge, fi Firefox keessatti ergameera. Safari keessatti ammallee guutummaatti qophii miti, haa ta’u malee alaabaa yeroo gaggeessaa wajjin kan argamu fakkaata Teeknooloojii Durargii isa haaraa irratti.