Hafi yubwoko bwose bwa porogaramu yanditse muri JavaScript ikorana nigihe cyangwa amatariki mubushobozi bumwe. Mu ntangiriro, ibi byagarukiye gusa ku Itariki yubatswe API. Iyi API ikubiyemo imikorere yibanze, ariko igarukira mubyo ishobora gukora. Amasomero-yandi masomero nka Moment.js, hanyuma yubatswe muri API nka Intl APIs na API nshya yigihe gito, ongeraho byinshi byoroshye guhinduka hamwe nigihe n'amatariki. Kuzamuka no Kugwa Mubihe.js Akanya.js ni isomero rya JavaScript rifite imbaraga zikomeye zo gukorana nibihe n'amatariki. Harimo kubura ibintu biva kumunsi wibanze API, nkigihe cya zone manipulation, kandi ituma ibikorwa byinshi bisanzwe byoroha. Akanya karimo kandi imirimo yo gutunganya amatariki n'ibihe. Yabaye isomero rikoreshwa cyane mubikorwa byinshi bitandukanye. Ariko, Moment nayo yagize uruhare rwibibazo. Ni isomero rinini, kandi rirashobora kongeramo cyane mubunini bwa porogaramu. Kuberako isomero ridashyigikira kunyeganyeza ibiti (ibiranga bundler zigezweho zishobora gukuraho ibice bitakoreshejwe byamasomero), isomero rya Moment ryose ririmo nubwo wakoresha kimwe cyangwa bibiri mumikorere yacyo. Ikindi kibazo hamwe na Moment nukuri ko ibintu irema bihinduka. Hamagara ibikorwa bimwe kumwanya Akanya bigira ingaruka kandi bigahindura agaciro kicyo kintu. Ibi birashobora kuganisha kumyitwarire itunguranye cyangwa amakosa. Muri 2020, abashinzwe umwanya bahisemo gushyira isomero muburyo bwo kubungabunga. Nta kintu gishya kiranga iterambere kirimo gukorwa, kandi ababishinzwe barasaba kwirinda kuyikoresha mu mishinga mishya. Hariho andi masomero yitariki ya JavaScript, nka date-fns, ariko hariho umukinnyi mushya mumujyi, API yubatswe muri JavaScript: by'agateganyo. Nibipimo bishya byuzuza umwobo wumunsi wambere API API kimwe no gukemura zimwe mumbogamizi ziboneka mumwanya nandi masomero. Niki Cyigihe gito? By'agateganyo ni igihe gishya n'itariki API yongewe ku gipimo cya ECMAScript, isobanura JavaScript igezweho. Kuva muri Werurwe 20266, igeze ku cyiciro cya 4 cyibikorwa bya TC39 (komite ishinzwe kugenzura ibyifuzo n’inyongera ku rurimi rwa JavaScript), ikazashyirwa mu cyiciro gikurikira cy’ibisobanuro bya ECMAScript. Bimaze gushyirwa mubikorwa muri mushakisha nyinshi: Chrome 144+ na Firefox 139+, biteganijwe ko Safari izakurikira vuba. Polyfill iraboneka kandi kuri mushakisha idashyigikiwe na Node.js. API by'agateganyo irema ibintu, muri rusange, byerekana ibihe mugihe. Ibi birashobora kuba igihe cyose nitariki ya kashe mumwanya wateganijwe, cyangwa birashobora kuba urugero rusange rwigihe cy "urukuta" nta gihe cyagenwe cyangwa amakuru yitariki. Bimwe mubyingenzi byingenzi biranga by'agateganyo harimo:

Ibihe hamwe n'amatariki.Ibintu by'agateganyo birashobora kwerekana igihe runaka kumunsi wihariye, cyangwa igihe kidafite amakuru yamakuru. Itariki yihariye, nta gihe, irashobora kandi guhagararirwa. Inkunga yigihe cyigihe.Ibintu byigihe gito byuzuye byuzuye kandi birashobora guhinduka mugihe cyigihe gitandukanye. Akanya gashigikira umwanya wigihe, nacyo, ariko bisaba isomero ryigihe-timezone. Kudahinduka.Igihe ikintu cyigihe gito cyaremewe, ntigishobora guhinduka. Igihe cyimibare cyangwa umwanya wigihe cyo guhindura ntabwo bihindura ikintu cyibanze. Ahubwo, batanga ikintu gishya cyigihe gito. 1-ishingiye ku bipimo.Isoko rusange yamakosa hamwe nitariki API (kimwe na Moment) ni uko amezi ari zeru. Ibi bivuze ko Mutarama ari ukwezi 0, aho kuba ukwezi 1 nkuko twese tubyumva mubuzima busanzwe. By'agateganyo bikosora ibi ukoresheje indangagaciro-ishingiye - Mutarama ni ukwezi 1. Yubatswe muri mushakisha. Kubera ko by'agateganyo ari API muri mushakisha ubwayo, ntacyo yongeraho mubunini bwa porogaramu yawe.

Ni ngombwa kandi kumenya ko Itariki API itagiye. Mugihe by'agateganyo gisimbuye iyi API, ntabwo ikurwaho cyangwa ngo iteshwe agaciro. Porogaramu nyinshi zacika niba mushakisha yakuyeho Itariki API. Ariko, uzirikane kandi ko Moment ubu ifatwa nkumushinga wumurage muburyo bwo kubungabunga. Mugice gisigaye cyingingo, tuzareba "resept" zimwe zo kwimuka kode ishingiye kumwanya mukanya kuri API nshya yigihe gito. Reka dutangire gusubiramo! Kurema Itariki Nigihe Ibintu Mbere yo gukoresha amatariki n'ibihe, tugomba gukora ibintu bibahagarariye. Kurema Akanya ikintu cyerekana itariki nigihe, koresha umwanya wigihe. const nonaha = umwanya (); konsole.log (ubu); // Akanya <2026-02-18T21: 26: 29-05: 00>

Iki kintu gishobora guhindurwa cyangwa gukoreshwa nkuko bikenewe.

// hindura muri UTC //kwihanangiriza: Ibi bihindura ikintu cya Moment ukagishyira muburyo bwa UTC! konsole.log (ubu.utc ()); // Akanya <2026-02-19T02: 26: 29Z>

// andika umurongo wateguwe - menya ko ikoresha igihe cya UTC ubungubu konsole.log (ubungubu.format ('MM / DD / YYYY hh: mm: ss a')); // 02/19/2026 02:27:07 am

Ikintu cyingenzi ugomba kwibuka kuri Moment nuko Akanya ikintu buri gihe kirimo amakuru ajyanye nigihe nitariki. Niba ukeneye gusa gukorana namakuru yigihe, mubisanzwe nibyiza, ariko birashobora gutera imyitwarire itunguranye mubihe nkumunsi wo kuzigama amanywa cyangwa imyaka isimbuka, aho itariki ishobora kugira ingaruka kubara igihe. By'agateganyo biroroshye guhinduka. Urashobora gukora ikintu cyerekana itariki nigihe cyo gukora byigihe gito. Ikintu gihoraho. Ibi byerekana ingingo mugihe cyasobanuwe nigihe kuva "ibihe" (mu gicuku UTC ku ya 1 Mutarama 1970). By'agateganyo birashobora kwifashisha ako kanya mugihe hamwe na nanosekond-urwego rwukuri. const ubu = by'agateganyo.Ubu.instant ();

// reba nanosekondi mbisi kuva kera konsole.log (ubungubu.epochNanosekonds); // 1771466342612000000n

// imiterere ya UTC konsole.log (ubungubu.kuhereza ()); // 2026-02-19T01: 55: 27.844Z

// imiterere kumwanya runaka konsole.log (ubungubu.kuhereza ({igiheZone: 'Amerika / New_York'})); // 2026-02-18T20: 56: 57.905-05: 00

By'agateganyo. Ibintu by'ingenzi birashobora kandi gushirwaho mugihe runaka nitariki ukoresheje uburyo buva muburyo buhamye.

const myInstant = by'agateganyo.Instant. Kuva ('2026-02-18T21: 10: 00-05: 00');

// Fata ako kanya muri zone yigihe cyaho. Menya ko ibi bigenzura gusa // imiterere - ntabwo ihindura ikintu nkigihe.utc ikora. konsole.log (myInstant.toString ({timeZone: 'Amerika / New_York'})); // 2026-02-18T21: 10: 00-05: 00

Urashobora kandi gukora ubundi bwoko bwibintu byigihe gito, harimo:

By'agateganyo. Itariki Itariki: Itariki idafite amakuru yigihe. By'agateganyo.Ibihe: Igihe nta makuru yitariki. Byigihe gito.Zone Itariki: Itariki nigihe mugihe cyihariye.

Buri kimwe muribi gifite uburyo buva muburyo bushobora guhamagarwa nikintu kigaragaza itariki na / cyangwa igihe, cyangwa umugozi wamatariki yo gusesengura. // Itariki gusa const uyumunsi = Byigihe gito.Ibihe Byatanzwe. Kuva ({ umwaka: 2026, ukwezi: 2, // icyitonderwa dukoresha 2 muri Gashyantare umunsi: 18 }); konsole.log (uyumunsi.kuhereza ()); // 2026-02-18

// Igihe kimwe const ya sasitaTime = Igihe gito.Ibihe Byigihe. Kuva ({ isaha: 12 }); konsole.log (ifunguro rya sasita.kuhereza ()); // 12:00:00

// Itariki nigihe muri Amerika Iburasirazuba const dueAt = by'agateganyo.ZoneDateTime.from ({ igiheZone: 'Amerika / Gishya_York', umwaka: 2026, ukwezi: 3, umunsi: 1, isaha: 12, umunota: 0, kabiri: 0 }); konsole.log (kuberaAt.toString ()); // 2026-03-01T12: 00: 00-05: 00 [Amerika / New_York]

Gusobanura Twakurikiranye gahunda yo gushiraho itariki namakuru yigihe. Noneho reka turebe parsing. Parsing nigice kimwe aho Akanya koroha kuruta iyubatswe muri API by'agateganyo. Urashobora gusesengura itariki yumurongo uyinyuza mumikorere yumwanya. Hamwe n'impaka imwe, Akanya yiteze umurongo wa ISO itariki, ariko urashobora gukoresha ubundi buryo niba utanze ingingo ya kabiri yerekana imiterere yitariki ikoreshwa.

const isoDate = umwanya ('2026-02-21T09: 00: 00'); const formatedDate = umwanya ('21/2/26 9:00:00', 'M / D / YY h: mm: ss');

konsole.log (isoDate); // Akanya <2026-02-21T09: 00: 00-05: 00>

konsole.log (Itariki yahinduwe); // Akanya <2026-02-21T09: 00: 00-05: 00>

Muri verisiyo ishaje, Akanya yakora igitekerezo cyiza cyo kugereranya umurongo wateganijwe uko bishakiye. Ibi birashobora gushikana kubisubizo bitateganijwe. Kurugero, ni 02-03-2026 2 Gashyantare cyangwa 3 Werurwe? Kubwiyi mpamvu, verisiyo nshya ya Moment yerekana umuburo ugaragara wo gutesha agaciro niba ihamagarwa idafite italiki ya ISO yatanzwe (keretse niba impaka ya kabiri hamwe nuburyo bwifuzwa nayo yatanzwe). By'agateganyo bizasesengura gusa itariki yumurongo wateganijwe. Umugozi ugomba kuba wujuje imiterere ya ISO 8601 cyangwa kwaguka kwayo, RFC 9557. Niba italiki idahuye yumurongo itambutse iva muburyo, by'agateganyo bizatera RangeError.

// Ukoresheje umurongo wamatariki ya RFC 9557 const myDate = by'agateganyo.Instant. Kuva ('2026-02-21T09: 00: 00-05: 00 [Amerika / New_York]'); konsole.log (myDate.toString ({timeZone: 'Amerika / New_York'})); // 2026-02-21T09: 00: 00-05: 00

// Ukoresheje itariki itazwi const otherDate = by'agateganyo.Instant. Kuva ('21/2/26 9:00:00'); // RangeError: Ikosa ryigihe gito: Imiterere itemewe mugihe ugereranije numwaka agaciro.

Ibisabwa nyabyo byitariki yumurongo biterwa nubwoko bwigihe gito urimo gukora. Murugero ruvuzwe haruguru, by'agateganyo. Muri ako kanya bisaba ISO yuzuye8601 cyangwa RFC 9557 ikurikiranabihe ryerekana itariki nigihe hamwe nigihe cyagenwe, ariko urashobora kandi gukora ibintu bya PlainDate cyangwa PlainTime ukoresheje agace gato k'imiterere yitariki. const myDate = by'agateganyo. Itariki yerekana.kuva ('2026-02-21'); konsole.log (myDate.toString ()); // 2026-02-21

const myTime = by'agateganyo.Ibihe Byateganijwe. Kuva ('09: 00: 00 '); konsole.log (myTime.toString ()); // 09:00:00

Menya ko iyi mirongo igomba gukomeza kubahiriza imiterere iteganijwe, cyangwa ikosa rizaterwa.

// Ukoresheje imirongo yigihe idahuye. Aba bose bazaterera RangeError. By'agateganyo.Ibihe Byatanzwe. Kuva ('9:00'); By'agateganyo.Ibihe Byatanzwe. Kuva ('9:00:00 AM');

Pro tip: Gukemura imirongo itari ISOKuberako by'agateganyo ishyira imbere kwizerwa, ntabwo izagerageza gukeka imiterere yumurongo nka 02-01-2026. Niba amakuru yamakuru yawe akoresha imirongo nkiyi, uzakenera gukora manipulation kugirango uhindure indangagaciro mumurongo wa ISO nka 2026-02-01 mbere yo kugerageza kuyikoresha hamwe nigihe gito.

Imiterere Umaze kugira Akanya cyangwa Igihe gito, birashoboka ko uzashaka kuyihindura kumurongo wimiterere mugihe runaka. Uru nurugero aho Akanya ari gato terse. Wita uburyo bwimiterere yikintu hamwe numurongo wibimenyetso bisobanura imiterere yitariki wifuza. itariki = umwanya ();

konsole.log (itariki.format ('MM / DD / YYYY')); // 02/22/2026

konsole.log (itariki.format ('MMMM Kora YYYY, h: mm: ss a')); // 22 Gashyantare 2026, 8:18:30 pm

Kurundi ruhande, by'agateganyo biragusaba kuba inshinga nkeya. Ibintu byigihe gito, nka Instant, bifite uburyo bwa toLocaleString yemera uburyo butandukanye bwo guhinduranya bwerekanwe nkumutungo wikintu.

itariki yo gushiraho = by'agateganyo.Ubu.instant ();

// nta mpaka, tuzabona imiterere isanzwe yaho konsole.log (itariki.kugeza kuriString ()); // 22/2/2026, 8:23:36 PM (tuvuge ko ari en-US)

// gutambutsa uburyo bwo guhitamo kubyara imiterere yihariye konsole.log (itariki.kugeza kuriString ('en-US', { ukwezi: 'kirekire', umunsi: 'numeric', umwaka: 'umubare', isaha: '2-mibare', umunota: '2-mibare' })); // 22 Gashyantare 2026 saa 8:23 PM

// unyuze gusa imirima ushaka muburyo bwimiterere konsole.log (itariki.kugeza kuriString ('en-US', { ukwezi: 'mugufi', umunsi: 'umubare' })); // 22 Gashyantare

Itariki yigihe gito ikoresha mubyukuri Intl.DateTimeFormat API (isanzwe iboneka byoroshye muri mushakisha zigezweho) munsi ya hood. Ibyo bivuze ko ushobora gukora ikintu cyongeye gukoreshwa ItarikiTimeFormat hamwe nuburyo bwawe bwo guhitamo, hanyuma ugatambutsa ibintu byigihe gito muburyo bwimiterere. Kubera iyi, ntabwo ishyigikira imiterere yitariki yihariye nkuko Moment ibikora. Niba ukeneye ikintu nka 'Q1 2026' cyangwa ubundi buryo bwihariye bwo guhinduranya, urashobora gukenera kode yimiterere yumunsi cyangwa kugera kubitabo byabandi. const formatter = Intl nshya. ItarikiTimeFormat ('en-US', { ukwezi: '2-mibare', umunsi: '2-mibare', umwaka: 'umubare' });

itariki yo gushiraho = by'agateganyo.Ubu.instant (); konsole.log (formatter.format (itariki)); // 02/22/2026

Ibimenyetso byo guhinduranya akanya biroroshye kwandika, ariko ntabwo ari byiza. Imiterere ikurikirana "code code" ibintu nkukwezi / umunsi gutondekanya. Ibyiza byo gukoresha iboneza, nkuko byigihe gito, ni uko bizahita bihuza nahantu runaka kandi bigakoresha imiterere ikwiye. itariki yo gushiraho = by'agateganyo.Ubu.instant ();

Imiterere Imiterere = { ukwezi: 'umubare', umunsi: 'numeric', umwaka: 'umubare' };

konsole.log (itariki.kugeza kuri String ('en-US', formatOptions)); // 22/2/2026

konsole.log (itariki.kugeza kuri String ('en-GB', formatOptions)); // 22/02/2026

Itariki yo kubara Mubisabwa byinshi, uzakenera kurangiza gukora ibarwa kumunsi. Urashobora gushaka kongera cyangwa gukuramo ibice byigihe (iminsi, amasaha, amasegonda, nibindi). Kurugero, niba ufite itariki iriho, urashobora kwereka umukoresha itariki icyumweru 1 uhereye none. Akanya ibintu bifite uburyo nko kongeramo no gukuramo ibyo bikorwa. Iyi mikorere ifata agaciro nigice, kurugero: ongeraho (7, 'iminsi'). Itandukaniro rimwe ryingenzi cyane hagati yigihe nigihe gito, ariko, nuko mugihe ukora iyi tariki yo kubara, ikintu cyibanze cyahinduwe kandi agaciro kacyo kambere karatakaye. const nonaha = umwanya ();

konsole.log (ubu); // Akanya <2026-02-24T20: 08: 36-05: 00>

const nextWeek = ubungubu.add (7, 'iminsi'); konsole.log (ubutahaWeek); // Akanya <2026-03-03T20: 08: 36-05: 00>

// Gotcha - ikintu cyambere cyahinduwe konsole.log (ubu); // Akanya <2026-03-03T20: 08: 36-05: 00>

Kugirango wirinde gutakaza itariki yumwimerere, urashobora guhamagara clone kubintu bya Moment kugirango ukore kopi. const= akanya (); const nextWeek = nonaha.clone (). ongeraho (7, 'iminsi');

konsole.log (ubu); // Akanya <2026-02-24T20: 12: 55-05: 00>

konsole.log (ubutahaWeek); // Akanya <2026-03-03T20: 12: 55-05: 00>

Kurundi ruhande, ibintu byigihe gito ntibihinduka. Umaze gukora ikintu nka Instant, PlainDate, nibindi, agaciro kicyo kintu ntikizigera gihinduka. Ibintu by'agateganyo nabyo bifite uburyo bwo kongera no gukuramo. By'agateganyo ni akantu gato kerekeye ibihe bishobora kongerwaho ubwoko bwibintu. Kurugero, ntushobora kongeramo iminsi mukanya:

const ubu = by'agateganyo.Ubu.instant (); const nextWeek = nonaha.add ({iminsi: 7}); // RangeError: Ikosa ryigihe gito: Igice kinini ntigishobora kuba itariki

Ibi ni ukubera ko ibintu ako kanya byerekana ingingo yihariye mugihe muri UTC kandi ni kalendari-agnostic. Kuberako uburebure bwumunsi bushobora guhinduka ukurikije amategeko yigihe cyumwanya nkumunsi wo kuzigama amanywa, iyi mibare ntabwo iboneka mukanya. Urashobora, icyakora, gukora iki gikorwa kubundi bwoko bwibintu, nka PlainDateTime: const ubu = by'agateganyo.Ubu.ibisobanuro ItarikiTimeISO (); konsole.log (ubungubu.kuyobora ()); // 24/2/2026, 8:23:59 PM

const nextWeek = nonaha.add ({iminsi: 7});

// Menya ko Igihe cyambere cya PlainDateTime kidahindutse konsole.log (ubungubu.kuyobora ()); // 24/2/2026, 8:23:59 PM

konsole.log (ubutahaWeek.toLocaleString ()); // 3/3/2026, 8:23:59 PM

Urashobora kandi kubara umwanya uri hagati yibintu bibiri cyangwa Akanya gato. Hamwe nimikorere itandukanye ya Moment, ugomba gutanga unite ya granularity, bitabaye ibyo izagarura itandukaniro muri milisegonda. itariki ya 1 = akanya ('2026-02-21T09: 00: 00'); itariki2 = umwanya ('2026-02-22T10: 30: 00');

konsole.log (itariki2.diff (itariki1)); // 91800000

konsole.log (itariki2.diff (itariki1, 'iminsi')); // 1

Kugirango ukore ibi hamwe nigihe gito, urashobora kunyuza ikindi kintu cyigihe gito kugeza igihe cyangwa kuva uburyo. Ibi bisubiza by'agateganyo. Ikintu cyigihe kirimo amakuru ajyanye nigihe gitandukanye. Ikiringo cyigihe gifite ibintu kuri buri kintu kigize itandukaniro, kandi gishobora no kubyara umurongo wa ISO 8601 igihe cyerekana itandukaniro ryigihe.

itariki ya1 = by'agateganyo.Ibihe Byatanzwe Igihe. Kuva ('2026-02-21T09: 00: 00'); itariki2

// bininiUnit yerekana igice kinini cyigihe cyo guhagararira // mu gihe cyo kubara const diff = itariki2.kubera (itariki1, {niniUnit: 'umunsi'});

konsole.log (diff.days); // 1

konsole.log (diff.hours); // 1

konsole.log (diff.minutes); // 30

konsole.log (diff.toString ()); // P1DT1H30M // (ISO 8601 umurongo wigihe: umunsi 1, isaha 1, iminota 30)

Kugereranya Amatariki Nibihe Akanya nigihe gito byombi reka ugereranye amatariki nigihe kugirango umenye ibiza mbere yandi, ariko ufate inzira zitandukanye hamwe na API. Umwanya utanga uburyo nka isBefore, isAfter, na isSame yo kugereranya ibintu bibiri bya Moment. itariki ya 1 = akanya ('2026-02-21T09: 00: 00'); itariki2 = umwanya ('2026-02-22T10: 30: 00');

konsole.log (itariki1.ni Mbere (itariki2)); // ukuri

Byigihe gito ikoresha uburyo bwo kugereranya uburyo bwo gukora igereranya hagati yibintu bibiri byubwoko bumwe. Iragaruka -1 niba itariki yambere ije mbere yambere, 0 niba bangana, cyangwa 1 niba itariki yambere ije nyuma yuwa kabiri. Urugero rukurikira rwerekana uburyo bwo kugereranya ibintu bibiri bya PlainDate. Impaka zombi kumwanya wigihe gito.PlainDate.gereranya igomba kuba ibintu bya PlainDate.

itariki ya1 = by'agateganyo. Itariki yerekana. Kuva ({umwaka: 2026, ukwezi: 2, umunsi: 24}); itariki ya2 = by'agateganyo. Itariki yerekana. Kuva ({umwaka: 2026, ukwezi: 3, umunsi: 24});

// itariki1 iza mbere yitariki2, bityo -1 konsole.log (by'agateganyo. Itariki Itariki.gereranya (itariki1, itariki2));

// Ikosa niba tugerageza kugereranya ibintu bibiri byubwoko butandukanye konsole.log (by'agateganyo. Itariki Itariki.gereranya (itariki1, by'agateganyo.Ubu.instant ())); // Ubwoko bw'Ikosa: Ikosa ry'agateganyo: Imirima itemewe yo mu kibaya yatanzwe.

By'umwihariko, ibi byoroshe gutondekanya umurongo wibintu byigihe gito bikurikiranye. // Urutonde rwibihe byigihe gito amatariki ya const = [...];

// koresha by'agateganyo. Itariki Itariki.gereranya nkibikorwa byo kugereranya amatariki.

Guhindura Igihe Isomero ryibanze Isomero ntirishyigikira igihe cyahinduwe. Niba ukeneye iyi mikorere, ugomba no gushiraho umwanya-timezone. Iyi paki ntabwo igiti-kinyeganyega, bityo rero irashobora kongera cyane mubunini bwa bundle. Umaze gushiraho umwanya-timezone, urashobora guhindura ibintu bya Moment kumwanya utandukanye hamwe nuburyo bwa tz. Kimwe nibindi bikorwa bya Moment, ibi bihindura ibyingenziikintu. // Dufashe igihe cyo muri Amerika igihe cyiburasirazuba const nonaha = umwanya (); konsole.log (ubu); // Akanya <2026-02-28T20: 08: 20-05: 00>

// Hindura mugihe cya pasifika. // Igihe cyambere cyiburasirazuba cyatakaye. ubungubu.tz ('Amerika / Los_Angeles'); konsole.log (ubu); // Akanya <2026-02-28T17: 08: 20-08: 00>

Imikorere ya zone yigihe yubatswe muri API by'agateganyo mugihe ukoresheje by'agateganyo.ZoneDateTime ikintu. Ibi bikoresho birimo hamwe naTimeZone uburyo busubiza ZoneDateTime nshya yerekana umwanya umwe mugihe, ariko mugihe cyagenwe cyagenwe. // Na none, ukurikije igihe cyo muri Amerika const ubu = by'agateganyo.Ubu.zoneDateTimeISO (); konsole.log (ubungubu.kuyobora ()); // 28/2/2026, 8:12:02 PM EST

// Hindura mugihe cya pasifika const nowPacific = nonaha.kigiheToneZone ('Amerika / Los_Angeles'); konsole.log (ubuPacific.toLocaleString ()); // 28/2/2026, 5:12:02 PM PST

// Ikintu cyumwimerere ntigihinduka konsole.log (ubungubu.kuyobora ()); // 28/2/2026, 8:12:02 PM EST

Icyitonderwa: Indangagaciro zahinduwe zagaruwe naLocaleString nizo, nkuko izina ribivuga, biterwa na locale. Icyitegererezo kode yatunganijwe muri en-Amerika, imiterere rero nkiyi: 28/2/2026, 5:12:02 PM PST. Ahandi hantu, ibi birashobora kuba bitandukanye. Kurugero, mukarere ka en-GB, wabona ikintu nka 28/2/2026, 17:12:02 GMT-8. Kwiyubaka-kwisi Dufate ko twubaka porogaramu yo guteganya ibyabaye mugihe cyagenwe. Igice cyiyi porogaramu nigikorwa, getEventTimes, ifata umurongo wa ISO 8601 ugereranya isaha nitariki byabereye, umwanya wigihe, hamwe nigihe cyagenwe. Igikorwa kirema igihe cyagenwe nitariki imirongo yibyabaye muri zone zombi. Niba imikorere ihabwa umugozi winjiza utari igihe cyemewe / itariki yumugozi, bizatera ikosa. Dore ishyirwa mubikorwa ryumwimerere, ukoresheje Akanya (bisaba kandi gukoresha pake ya timezone).

kwinjiza umwanya kuva 'umwanya-timezone';

imikorere getEventTimes (kwinjizaString, ukoreshaTimeZone, integoTimeZone) { const timeFormat = 'MMM D, YYYY, h: mm: ss a z';

// 1. Kora umwanya wambere mukoresha umwanya wumukoresha ibyabaye Igihe = umwanya.tz ( Kwinjiza, akanya.ISO_8601, // Tegereza umugozi ISO 8601 kweri, // Gusesengura bikabije UmukoreshaTimeZone );

// Tera ikosa niba ibyinjijweString bitagaragaje itariki yemewe niba (! ibyabaye Igihe.Ibyemewe ()) { guta Ikosa rishya ('Itariki itemewe / igihe cyo kwinjiza'); }

// 2. Kubara igihe cyagenwe // KUNYAZA: Tugomba gukoroniza, cyangwa 'ibyabaye Igihe' bihinduka iteka! intego integoTime = ibyabaye Igihe.clone (). tz (integoTimeZone);

garuka { hafi: ibyabaye Igihe.format (igiheFormat), intego: integoTime.format (igiheFormat), }; }

ingengabihe = kubonaEventTimes ( '2026-03-05T15: 00-05: 00', 'Amerika / New_York', 'Uburayi / London', );

konsole.log (gahunda.local); // Ku ya 5 Werurwe 2026, 3:00:00 pm EST

konsole.log (gahunda.intego); // Ku ya 5 Werurwe 2026, 8:00:00 pm GMT

Muriyi ngero, dukoresha imiterere yitariki iteganijwe ya ISO 8601, yubatswe muburyo bwa Moment. Turimo kandi gukoresha parsing ikaze, bivuze ko Akanya atazagerageza gukeka numurongo wamatariki udahuye nimiterere. Niba itariki itari ISO itambutse, bizavamo ikintu cyitariki kitemewe, kandi dutera ikosa. Gushyira mubikorwa by'agateganyo bisa, ariko bifite itandukaniro rito.

imikorere getEventTimes (kwinjizaString, ukoreshaTimeZone, integoTimeZone) { // 1. Hindura ibyinjijwe muburyo butaziguye, hanyuma ukore // a ZoneDateTime muri zone yumukoresha. const ako kanya = by'agateganyo.Instant. Kuva (kwinjizaString); const eventTime = ako kanya.toZoneDateTimeISO (umukoreshaTimeZone);

// 2. Hindura kuri zone igenewe // Ibi birahita bisubiza ikintu gishya; 'ibyabaye Igihe' ni umutekano. intego integoTime = ibyabayeTime.withTimeZone (targetTimeZone);

// 3. Imiterere ukoresheje Intl (yubatswe) amahitamo = { umwaka: 'umubare', ukwezi: 'mugufi', umunsi: 'numeric', isaha: 'umubare', umunota: '2-mibare', kabiri: '2-mibare', IgiheZoneName: 'mugufi' };

garuka { hafi: ibyabaye Igihe.kugeza kuriString (navigator.ururimi, amahitamo), intego: integoTime.toLocaleString (navigator.ururimi, amahitamo) }; }

ingengabihe = kubonaEventTimes ( '2026-03-05T15: 00-05: 00', 'Amerika / New_York', 'Uburayi / London', );

konsole.log (gahunda.local); // Ku ya 5 Werurwe 2026, 3:00:00 PM EST

konsole.log (gahunda.intego); // Ku ya 5 Werurwe 2026, 8:00:00 PM GMT

Hamwe na Akanya, tugomba kwerekana neza umurongo wimiterere kumatariki yavuyemo. Hatitawe ku mukoresha aho aherereye cyangwa aho biherereye, ibihe byabaye bizahora bihindurwa nka 5 Werurwe 2026, 3:00:00pm EST. Na none, ntitugomba guterera byimazeyo. Niba umugozi utemewe wanyujijwe kumwanya wigihe gito.Instant.kuva, by'agateganyo bizadutera ibidasanzwe kuri twe. Ikintu kimwe ugomba kumenya ni uko hamwe no gusesengura neza, verisiyo ya Moment iracyoroshye. Byigihe gito bisaba igihe zone offset kumpera yumurongo. Ugomba kandi kumenya ko kuva dukoresha navigator.ururimi, iyi code izakorera gusa mubidukikije, nkuko navigator idasobanuwe mubidukikije bya Node.js. Ishyirwa mu bikorwa by'agateganyo rikoresha amashusho ya mushakisha (navigator.ururimi), bityo uyikoresha azahita abona ibihe byabaye muburyo bwimiterere yabyo. Mu gace ka en-Amerika, iyi ni 5 Werurwe 2026, 3:00:00 pm EST. Ariko, niba umukoresha ari i Londres, kurugero, ibihe byibyabaye bizahinduka nka 5 Werurwe 2026, 15:00:00 GMT-5. Incamake

Igikorwa Akanya.js By'agateganyo Igihe cyubu akanya () By'agateganyo.Ubu.zone ItarikiTimeISO () Gukoresha ISO umwanya (str) By'agateganyo.Instant. Kuva (str) Ongeraho igihe .add (7, 'iminsi') (mutates) .add ({iminsi: 7}) (ikintu gishya) Itandukaniro .diff (ibindi, 'amasaha') .kugirango (ibindi) .amasaha Igihe cyagenwe .tz ('Zone / Izina') .kuriTimeZone ('Zone / Izina')

Urebye neza, itandukaniro rishobora kuba ritandukanye gato (kandi mugihe cyigihe gito, rimwe na rimwe inshinga nyinshi kandi zikomeye) syntax, ariko hariho ibyiza byinshi byingenzi byo gukoresha by'agateganyo hejuru ya Moment.js:

Kuba usobanutse neza bisobanura gutungurwa gake hamwe nudukosa tutateganijwe. Akanya gashobora gusa nkaho koroheje, ariko karimo "gukeka," bishobora rimwe na rimwe kuvamo amatariki atari yo. Niba utanze by'agateganyo ikintu kitemewe, gitera ikosa. Niba code ikora, uziko ufite itariki yemewe. Akanya karashobora kongeramo ubunini bugaragara kuri bundle ya porogaramu, cyane cyane niba ukoresha umwanya-timezone. By'agateganyo ntacyo yongeraho (iyo yoherejwe muri mushakisha yawe). Kudahinduka biguha ikizere ko utazigera utakaza cyangwa ngo wandike amakuru mugihe ukora itariki yo guhindura ibikorwa. Ibihe bitandukanye byerekana igihe (Akanya, Ibihe Byibihe, ZoneDateTime) ukurikije ibyo usabwa, aho Akanya gahora gapfunyika hafi ya UTC. By'agateganyo ikoresha Intl APIs yo gushiraho itariki, bivuze ko ushobora kugira imiterere-yimiterere-yimiterere utiriwe ugaragaza neza ibimenyetso.

Inyandiko Kuri Polyfill Nkuko byavuzwe haruguru, hariho polyfill y'agateganyo iraboneka, yatanzwe nka pake ya npm yitwa @ js-by'agateganyo / polyfill. Niba ushaka gukoresha by'agateganyo uyumunsi, uzakenera iyi polyfill kugirango ushyigikire mushakisha nka Safari itohereza API kugeza ubu. Amakuru mabi hamwe nuko aziyongera kubunini bwa bundle. Amakuru meza nuko akomeza kongeramo cyane munsi yigihe cyangwa umwanya-timezone. Dore igereranya ry'ubunini bwa bundle nkuko byatangajwe na Bundlephobia.com, urubuga rugaragaza amakuru ku bunini bwa pake ya npm (kanda kuri buri zina rya paki kugirango urebe isesengura rya Bundlephobia):

Amapaki Minified Minified & gzipped @ js-by'agateganyo / polyfill 154.1 kB 44.1 kB akanya 294.4 kB 75.4 kB umwanya-umwanya 1 MB 114.2 kB

Polyfill nayo yagize amateka mumikorere yibibazo bijyanye no gukoresha kwibuka, kandi mugihe cyo kwandika, bifatwa nkibiri muri leta ya alfa. Kubera iyi, ntushobora kwifuza kuyikoresha mubikorwa kugeza igeze kumurongo ukuze. Andi makuru meza nuko twizere ko polyfill itazakenera igihe kinini (keretse niba ukeneye gushyigikira mushakisha zishaje, birumvikana). Mugihe cyo kwandika, by'agateganyo byoherejwe muri Chrome, Edge, na Firefox. Ntabwo yiteguye neza muri Safari kugeza ubu, nubwo bigaragara ko iboneka hamwe n'ibendera ryogukora kuri tekinoroji iheruka.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free