Toeitiiti lava o so'o se ituaiga tusi talosaga e tusia i le JavaScript e galue i taimi po'o aso i nisi tulaga. I le amataga, na fa'atapula'aina lea i le API o le Aso na fausia. O lenei API e aofia ai galuega faʻavae, ae faʻatapulaʻa i mea e mafai ona ia faia. O faletusi a isi vaega e pei o le Moment.js, ma API na fausia mulimuli ane e pei o le Intl APIs ma le API Temporal fou, e fa'aopoopo atili ai le fetuutuuna'i e galue ai i taimi ma aso. Le Tulai ma le Pa'u o le Taimi.js O le Moment.js o se faletusi JavaScript ma faʻaoga mamana mo le galue i taimi ma aso. E aofia ai vaega o lo'o misi mai le API Aso fa'avae, e pei o le fa'aogaina o sone taimi, ma fa'afaigofie le tele o gaioiga masani. O le taimi e aofia ai foʻi galuega mo le faʻatulagaina o aso ma taimi. Na avea ma faletusi fa'aaoga lautele i le tele o fa'aoga eseese. Ae ui i lea, o le Moment sa i ai foi lana vaega o mataupu. O se faletusi tele, ma e mafai ona fa'aopoopo tele i le tele o le fusi o le talosaga. Talu ai e le lagolagoina e le faletusi le luluina o laʻau (o se vaega o fusi faʻaonaponei e mafai ona aveese vaega le faʻaaogaina o faletusi), o le faletusi atoa o le Moment e aofia ai tusa lava pe naʻo le tasi pe lua o ana galuega. O le isi fa'afitauli i le Taimi o le mea moni o mea na te faia e mafai ona suia. O le vala'au i nisi o galuega i luga o se mea Taimi e iai a'afiaga ma suia ai le tau o lea mea. E mafai ona o'o atu ai i ni amioga e le'i mafaufauina po'o ni fa'aletonu. I le 2020, na filifili ai le au tausia o le Moment e tuʻu le faletusi i le tulaga faʻaleleia. Leai se atina'e fou o lo'o faia, ma e fautuaina e le au tausia le fa'aaogaina mo galuega fou. O loʻo i ai isi faletusi aso JavaScript, e pei o aso-fns, ae o loʻo i ai se tagata fou i le taulaga, o se API faʻapipiʻi saʻo i totonu o le JavaScript: Temporal. O se tulaga fou e faʻatumu ai pu o le uluai Aso API faʻapea foʻi ma foia nisi o tapulaʻa o loʻo maua i le Taimi ma isi faletusi. O le a le Mea Faaletino? Ole taimi ole taimi ma aso fou ole API ua fa'aopoopoina ile ECMAScript standard, lea e fa'amatala ai le Javascript fa'aonaponei. E oʻo mai ia Mati 20266, ua oʻo i le Laasaga 4 o le TC39 faʻagasologa (o le komiti e vaʻaia talosaga ma faʻaopoopoga i le gagana JavaScript), ma o le a aofia i le isi lomiga o le ECMAScript faʻamatalaga. Ua uma ona faʻatinoina i le tele o suʻesuʻega: Chrome 144+ ma Firefox 139+, ma Safari e faʻamoemoe e mulimuli mai. O lo'o avanoa fo'i se polyfill mo su'esu'ega e le'i lagolagoina ma Node.js. Ole Temporal API e fa'atupu mea e, masani, fa'atusalia taimi i le taimi. O nei mea e mafai ona avea ma fa'ailoga taimi atoa ma fa'ailoga aso i se sone taimi, pe mafai fo'i ona avea ma fa'ata'ita'iga masani o le taimi o le "wall clock" e aunoa ma se sone taimi po'o fa'amatalaga aso. O nisi o vaega autu o le Temporal e aofia ai:
Taimi e iai ni aso pe leai. O se mea faitino e mafai ona faʻatusalia se taimi patino i se aso patino, poʻo se taimi e aunoa ma se faʻamatalaga o aso. O se aso patino, e aunoa ma se taimi, e mafai foi ona fai ma sui. Lagolago sone taimi. O mea fa'aletino e malamalama atoatoa i sone taimi ma e mafai ona liua i sone taimi eseese. E lagolagoina fo'i e le Taimi sone taimi, ae e mana'omia le faletusi fa'aopoopo taimi-taimi. Le mafai ona suia. O le taimi lava e faia ai se mea faitino, e le mafai ona suia. Ole fa'asologa ole taimi po'o suiga ole sone taimi e le suia ai le mea autu. Nai lo lena, latou te fa'atupuina se mea Fa'aletino fou. 1-faʻavae faʻasino igoa. O se faʻapogai masani o bug i le Aso API (faʻapea foʻi ma le Taimi) o masina e leai se faʻasino igoa. O lona uiga o Ianuari o le masina 0, nai lo le masina 1 e pei ona tatou malamalama uma i ai i le olaga moni. Fa'atonu fa'aletino lenei e ala i le fa'aogaina o le fa'asino igoa e 1 - Ianuari o le masina 1. O lo'o fausia i totonu o le su'esu'ega. Talu ai o le Temporal o se API i totonu o le su'esu'ega lava ia, e leai se mea e fa'aopoopoina i le tele o le fusi o lau talosaga.
E taua foi le maitauina e le o alu ese le API Aso. A'o suitulaga le Temporal i lenei API, e le o aveesea pe fa'ate'aina. Tele talosaga e malepe pe a fa'afuase'i ona aveese e tagata su'esu'e le Aso API. Ae ui i lea, ia manatua foi o le Taimi ua manatu nei o se galuega talatuu i le faiga o le tausiga. I le vaega o totoe o le tusiga, o le a tatou vaʻavaʻai i nisi o "fua" mo le femalagaiga o code faʻavae Taimi i le API Temporal fou. Sei o tatou amata toe fai! Fausia Mea Fa'aaso ma Taimi A'o le'i mafai ona tatou fa'aogaina aso ma taimi, e tatau ona tatou faia ni mea faitino e fai ma sui. Ina ia fatuina se mea Taimi e fai ma sui o le aso ma le taimi o loʻo i ai nei, faʻaaoga le galuega ole taimi. const nei = taimi(); console.log(nei); // Taimi<2026-02-18T21:26:29-05:00>
O lenei mea e mafai nei ona faʻatulagaina pe faʻaogaina pe a manaʻomia.
// liliu ile UTC //lapata'iga: E suia le mea o le Taimi ma tu'u i le faiga UTC! console.log(now.utc()); // Taimi<2026-02-19T02:26:29Z>
// lolomi se manoa faʻatulagaina - ia maitauina o loʻo faʻaaogaina le taimi UTC i le taimi nei console.log(now.format('MM/DD/YYYY hh:mm:ss a')); // 02/19/2026 02:27:07 am
O le mea autu e manatua e uiga i le Taimi o le mea o le Taimi e aofia ai faʻamatalaga e uiga i le taimi ma le aso. Afai e te mana'omia le galue ma fa'amatalaga o le taimi, e masani lava ona lelei, ae e mafai ona mafua ai amioga fa'afuase'i i tulaga e pei o le Daylight Saving Time po'o tausaga oso, lea e mafai ai e le aso ona i ai se aafiaga i le fuafuaina o taimi. Fa'aletino e sili atu ona fetuutuunai. E mafai ona e fatuina se mea faitino e fai ma sui o le aso ma le taimi o loʻo i ai nei e ala i le fatuina o se mea Temporal.Instant. O le mea lea o lo'o fa'atusalia ai se vaega o le taimi ua fa'amatalaina i le taimi talu mai le "taimi" (UTC i le vaeluapo o Ianuari 1, 1970). Fa'aletino e mafai ona fa'asino i lenei taimi i le taimi ma le nanosecond-level sa'o. const nei = Temporal.Now.instant();
// va'ai nanoseconds mata talu mai le vaitaimi console.log(now.epochNanoseconds); // 1771466342612000000n
// fa'atulagaina mo le UTC console.log(now.toString()); // 2026-02-19T01:55:27.844Z
// fa'atulagaina mo se sone taimi faapitoa console.log(now.toString({ timeZone: 'America/New_York' })); // 2026-02-18T20:56:57.905-05:00
E mafai fo'i ona fai mea fa'aletino.Instant mo se taimi ma se aso fa'apitoa e ala i le fa'aogaina o le mai le auala fa'amau.
const myInstant = Temporal.Instant.from('2026-02-18T21:10:00-05:00');
// Fa'atulaga le vave i le sone taimi fa'apitonu'u. Manatua e na'o le pulea lea // le faʻatulagaina - e le suia le mea e pei o le moment.utc. console.log(myInstant.toString({ timeZone: 'America/New_York' })); // 2026-02-18T21:10:00-05:00
E mafai foi ona e faia isi ituaiga o mea faitino, e aofia ai:
Temporal.PlainDate: Ose aso e leai ni fa'amatalaga taimi. Temporal.PlainTime: O se taimi e leai ni faʻamatalaga o aso. Temporal.ZonedDateTime: Se aso ma le taimi i se sone taimi patino.
O nei mea uma e iai se auala mai e mafai ona valaʻau i se mea e faʻamaonia ai le aso ma / poʻo le taimi, poʻo se manoa aso e faʻavasega. // Na o se tafaoga faamasani const aso nei = Temporal.PlainDate.from({ tausaga: 2026, masina: 2, // faʻamatalaga o loʻo matou faʻaogaina le 2 mo Fepuari aso: 18 }); console.log(today.toString()); // 2026-02-18
// Na'o sina taimi const lunchTime = Temporal.PlainTime.from({ itula: 12 }); console.log(lunchTime.toString()); // 12:00:00
// Se aso ma le taimi i le US Eastern time zone const dueAt = Temporal.ZonedDateTime.from({ timeZone: 'Amerika/New_York', tausaga: 2026, masina: 3, aso: 1, itula: 12, minute: 0, lona lua: 0 }); console.log(dueAt.toString()); // 2026-03-01T12:00:00-05:00[Amerika/New_York]
Fa'atalanoaga Ua matou fa'atalanoaina le fa'atulagaina o fa'amatalaga o aso ma taimi. Se'i o tatou va'ai i le fa'avasegaina. Parsing o se tasi vaega e sili atu ona fetuutuunai le Taimi nai lo le API Temporal ua fausia. E mafai ona e fa'avasegaina se manoa aso e ala i le pasi atu i le galuega ole taimi. Faatasi ai ma se finauga e tasi, o loʻo faʻamoemoeina e le Taimi se manoa aso ISO, ae e mafai ona e faʻaogaina isi faʻasologa pe afai e te tuʻuina atu se finauga lona lua e faʻamaonia ai le aso o loʻo faʻaaogaina.
const isoDate = minute('2026-02-21T09:00:00'); const formattedDate = minute('2/21/26 9:00:00', 'M/D/YY h:mm:ss');
console.log(isoDate); // Taimi<2026-02-21T09:00:00-05:00>
console.log(formattedDate); // Taimi<2026-02-21T09:00:00-05:00>
I fa'aliliuga tuai, o le a faia e le Taimi se matega lelei e fa'avasega ai so'o se manoa o aso e fa'atulaga fa'asa'o. E ono o'o atu ai i'uga e le'i fuafuaina. Mo se faʻataʻitaʻiga, o le 02-03-2026 Fepuari 2 poʻo Mati 3? Mo lenei mafua'aga, o fa'amatalaga fou o le Taimi e fa'aalia ai se lapataiga fa'aleaogaina pe a vala'au e aunoa ma se ISO fa'atulagaina aso manoa (sei vagana ua tu'uina atu fo'i le finauga lona lua ma le fa'atulagaga mana'omia). Ole taimi ole a na'o le fa'avasegaina ole manoa o aso fa'apitoa. O le manoa e tatau ona ogatasi ma le ISO 8601 format po'o lona fa'aopoopoga, RFC 9557. Afai e le fa'amalieina le aso e pasi atu i le auala mai, o le a togi e le Temporal se RangeError.
// Fa'aaogaina o se manoa aso RFC 9557 const myDate = Temporal.Instant.from('2026-02-21T09:00:00-05:00[Amerika/New_York]'); console.log(myDate.toString({ timeZone: 'America/New_York' })); // 2026-02-21T09:00:00-05:00
// Fa'aaogaina se manoa aso e le iloa const otherDate = Temporal.Instant.from('2/21/26 9:00:00'); // RangeError: Fa'aletonu le tumau: Fa'aletonu uiga a'o fa'avasega le tau o le tausaga.
Ole mana'oga tonu ole manoa aso e fa'alagolago ile ituaiga mea Fa'aletino o lo'o e fatuina. I le faʻataʻitaʻiga i luga, Temporal.Instant e manaʻomia se ISO atoa8601 po'o le RFC 9557 aso manoa o lo'o fa'amaoti ai le aso ma le taimi fa'atasi ai ma se sone taimi, ae e mafai fo'i ona e fatuina mea faitino PlainDate po'o PlainTime e fa'aaoga ai na'o se vaega o le faatulagaga o le aso. const myDate = Temporal.PlainDate.from('2026-02-21'); console.log(myDate.toString()); // 2026-02-21
const myTime = Temporal.PlainTime.from('09:00:00'); console.log(myTime.toString()); // 09:00:00
Manatua o nei manoa e tatau lava ona tausisia le faʻatulagaina o loʻo faʻamoemoeina, pe o le a lafoina se mea sese.
// Fa'aaogaina o se laina taimi e le fa'amalieina. O nei mea uma o le a lafoina ai se RangeError. Temporal.PlainTime.from('9:00'); Temporal.PlainTime.from('9:00:00 AM');
Fa'ata'ita'iga fa'apitoa: Fa'afoeina o manoa e le o ni ISOTalu e fa'amuamua le Fa'aletino i le fa'atuatuaina, o le a le taumafai e mateina le fa'atulagaina o se manoa pei ole 02-01-2026. Afai e fa'aogaina e lau fa'amaumauga ia manoa, e mana'omia lou faia o ni togafiti e toe fa'atulaga ai tau i se manoa ISO pei o le 2026-02-01 a'o le'i taumafai e fa'aoga i le Fa'aletino.
Fa'atulagaina O le taimi lava e te maua ai se Taimi poʻo se mea Faʻaletino, atonu e te manaʻo e faʻaliliu i se manoa faʻatulagaina i se taimi. O se faʻataʻitaʻiga lea e sili atu le pupuu o le Taimi. E te taʻua le auala faʻatulagaina o le mea ma se manoa o faʻailoga e faʻamatala ai le faʻasologa o aso e manaʻomia. aso tumau = minute();
console.log(date.format('MM/DD/YYYY')); // 02/22/2026
console.log(date.format('MMMM Fai YYYY, h:mm:ss a')); // Fepuari 22nd 2026, 8:18:30 pm
I le isi itu, Temporal e manaʻomia oe ia sili atu le tautala. O mea fa'aletino, e pei o le Instant, e iai le toLocaleString method e talia ai filifiliga fa'avasega eseese ua fa'amaoti mai o meatotino a se mea.
const aso = Temporal.Now.instant();
// e aunoa ma ni finauga, o le a matou maua le faʻasologa faʻaletonu mo le nofoaga o iai nei console.log(date.toLocaleString()); // 2/22/2026, 8:23:36 PM (faapea o se nofoaga o en-US)
// pasi fa'asologa filifiliga e fa'atupuina ai se manoa fa'asologa masani console.log(date.toLocaleString('en-US', { masina: 'umi', aso: 'numera', tausaga: 'numera', itula: '2-numera', minute: '2-numera' })); // Fepuari 22, 2026 i le 8:23 PM
// na'o le pasi o fanua e te mana'o ai i le manoa faatulagaga console.log(date.toLocaleString('en-US', { masina: 'pu'upu'u', aso: 'numera' })); // Fepu 22
O le fa'avasegaina o aso fa'aletino e fa'aaoga moni ai le Intl.DateTimeFormat API (lea ua maua i su'esu'ega fa'aonaponei) i lalo o le pulou. O lona uiga e mafai ona e fatuina se mea e mafai ona toe faʻaaogaina DateTimeFormat ma au filifiliga faʻatulagaina masani, ona pasi atu lea o mea faitino i lona auala faʻatulagaina. Ona o lenei mea, e le lagolagoina faʻasologa o aso masani e pei o le Taimi. Afai e te mana'omia se mea e pei o le 'Q1 2026' po'o isi fa'avasegaina fa'apitoa, atonu e te mana'omia se fa'ailoga fa'asologa o aso fa'apitoa po'o le aapa atu mo se faletusi isi vaega. const formatter = fou Intl.DateTimeFormat('en-US', { masina: '2-numera', aso: '2-numera', tausaga: 'numera' });
const aso = Temporal.Now.instant(); console.log(formatter.format(aso)); // 02/22/2026
O fa'ailoga fa'atulagaina o le taimi e sili atu ona faigofie ona tusi, ae e le'o fa'afeiloa'i i le lotoifale. O le faʻasologa o manoa "faʻailoga faigata" mea e pei o le masina / aso faʻasologa. O le lelei o le faʻaaogaina o se mea faʻapipiʻi, e pei ona faia e le Temporal, o le a otometi lava ona faʻafetaui i soʻo se nofoaga tuʻuina atu ma faʻaoga le faatulagaga saʻo. const aso = Temporal.Now.instant();
const formatOptions = { masina: 'numera', aso: 'numera', tausaga: 'numera' };
console.log(date.toLocaleString('en-US', formatOptions)); // 2/22/2026
console.log(date.toLocaleString('en-GB', formatOptions)); // 22/02/2026
Fuafuaga o aso I le tele o talosaga, e manaʻomia le faʻamaeʻaina o le faia o ni faʻatusatusaga i se aso. Atonu e te manao e faaopoopo pe toese iunite o le taimi (aso, itula, sekone, ma isi). Mo se faʻataʻitaʻiga, afai e iai sau aso o loʻo iai nei, atonu e te manaʻo e faʻaali i le tagata faʻaoga le aso 1 vaiaso mai le taimi nei. Ole taimi meafaitino e iai auala e pei ole fa'aopoopo ma toese e fa'atino ai nei gaioiga. O nei galuega tauave e ave se tau ma se iunite, mo se faʻataʻitaʻiga: faʻaopoopo(7, 'aso'). O se tasi o eseesega taua tele i le va o le Taimi ma le Fa'aletino, peita'i, pe a fa'atinoina nei fa'atusatusaga o aso, e suia le mea o lo'o i lalo ma leiloa lona tau. const nei = taimi();
console.log(nei); // Taimi<2026-02-24T20:08:36-05:00>
const nextWeek = now.add(7, 'aso'); console.log(NextWeek); // Taimi<2026-03-03T20:08:36-05:00>
// Gotcha - o le mea muamua na suia console.log(nei); // Taimi<2026-03-03T20:08:36-05:00>
Ina ia aloese mai le leiloa o le aso muamua, e mafai ona e valaʻau clone i le mea Taimi e fai ai se kopi. const nei= minute(); const nextWeek = now.clone().add(7, 'aso');
console.log(nei); // Taimi<2026-02-24T20:12:55-05:00>
console.log(NextWeek); // Taimi<2026-03-03T20:12:55-05:00>
I le isi itu, o mea faaletino e le mafai ona suia. O le taimi lava e te fatuina ai se mea e pei o se Instant, PlainDate, ma isi, o le tau o lena mea e le suia lava. O mea faaletino e iai foi auala faaopoopo ma toese. Ole taimi ole la'ititi la'ititi pe o fea taimi e mafai ona fa'aopoopo i ai ituaiga mea. Mo se faʻataʻitaʻiga, e le mafai ona e faʻaopoopo aso i se Instant:
const nei = Temporal.Now.instant(); const nextWeek = now.add({aso: 7}); // RangeError: Fa'aletonu le tumau: O le iunite tele e le mafai ona avea ma iunite aso
E mafua ona o mea Fa'anatinati o lo'o fa'atusalia se vaega fa'apitoa i le taimi i le UTC ma o le kalena-agnostic. Talu ai e mafai ona suia le umi o le aso e fa'atatau i tulafono sone taimi e pei ole Daylight Saving Time, e le'o maua lenei fa'atusatusaga i luga ole taimi vave. Ae ui i lea, e mafai ona e faia lenei gaioiga i luga o isi ituaiga o mea faitino, pei ole PlainDateTime: const now = Temporal.Now.plainDateTimeISO(); console.log(now.toLocaleString()); // 2/24/2026, 8:23:59 PM
const nextWeek = now.add({aso: 7});
// Manatua o le uluai PlainDateTime e tumau pea e le suia console.log(now.toLocaleString()); // 2/24/2026, 8:23:59 PM
console.log(nextWeek.toLocaleString()); // 3/3/2026, 8:23:59 PM
E mafai fo'i ona e fa'atatauina le tele o le taimi i le va o mea e lua Taimi po'o mea Fa'aletino. Faatasi ai ma le gaioiga eseese a le Moment, e tatau ona e saunia se iunite mo le faʻamalamalamaina, a leai o le a toe faʻafoʻi le eseesega i milliseconds. const date1 = minute('2026-02-21T09:00:00'); const date2 = minute('2026-02-22T10:30:00');
console.log(date2.diff(date1)); // 91800000
console.log(date2.diff(date1, 'aso')); // 1
Ina ia faia lenei mea i se mea Fa'aletino, e mafai ona e pasi atu se isi mea Fa'aletino i ana metotia se'ia pe talu mai. Ole mea lea e toe fa'afo'i mai ai se mea Temporal.Duration o lo'o iai fa'amatalaga e uiga ile eseesega ole taimi. O le mea umi ole umi e iai meatotino mo vaega ta'itasi o le eseesega, ma e mafai fo'i ona fa'atupuina se manoa umi ole ISO 8601 e fa'atusa ai le eseesega o le taimi.
const date1 = Temporal.PlainDateTime.from('2026-02-21T09:00:00'); const date2 = Temporal.PlainDateTime.from('2026-02-22T10:30:00');
// largestUnit o lo'o fa'amaoti mai le iunite sili ona tele o le taimi e fai ma sui // i le fuafuaina o le umi const diff = date2.since(date1, {Unit tele: 'aso' });
console.log(diff.days); // 1
console.log(diff.hours); // 1
console.log(diff.minutes); // 30
console.log(diff.toString()); // P1DT1H30M // (ISO 8601 umi manoa: 1 aso, 1 itula, 30 minute)
Faatusatusa Aso ma Taimi Taimi ma le Faaletino e lua e mafai ai ona e faʻatusatusa aso ma taimi e iloa ai po o fea e muamua i le isi, ae faʻaaoga auala eseese ma le API. O le taimi e maua ai metotia e pei o le isBefore, isAfter, ma le isSame e faʻatusatusa ai mea e lua Moment. const date1 = minute('2026-02-21T09:00:00'); const date2 = minute('2026-02-22T10:30:00');
console.log(date1.isBefore(date2)); // moni
Fa'aletino e fa'aoga se metotia fa'atusa fa'amau e fa'atino ai se fa'atusatusaga i le va o meafaitino e lua o le ituaiga tutusa. E toe foi mai -1 pe a oo mai le aso muamua i luma o le lona lua, 0 pe a tutusa, po o le 1 pe a oo mai le aso muamua pe a uma le lua. O le fa'ata'ita'iga lea o lo'o fa'aalia ai le fa'atusatusaina o mea faitino PlainDate e lua. O finauga uma e lua ile Temporal.PlainDate.compare e tatau ona avea ma mea PlainDate.
const date1 = Temporal.PlainDate.from({ tausaga: 2026, masina: 2, aso: 24 }); const date2 = Temporal.PlainDate.from({ tausaga: 2026, masina: 3, aso: 24 });
// aso1 e sau i luma ole aso2, o lea -1 console.log(Temporal.PlainDate.compare(date1, date2));
// Sese pe a tatou taumafai e faʻatusatusa ni mea se lua o ituaiga eseese console.log(Temporal.PlainDate.compare(date1, Temporal.Now.instant())); // TypeError: Fa'aletonu le tumau: Le aoga PlainDate fanua ua saunia.
Aemaise lava, e fa'afaigofie ai ona fa'avasega fa'asologa o mea Fa'aletino i le faasologa. // Se fa'asologa o mea Temporal.PlainDate const aso = [ ... ];
// fa'aaoga Temporal.PlainDate.compare e fai ma galuega fa'atusatusa dates.sort(Temporal.PlainDate.compare);
Suiga o le Sone Taimi E le lagolagoina e le faletusi autu o le Moment suiga o sone taimi. Afai e te manaʻomia lenei gaioiga, e manaʻomia foʻi ona e faʻapipiʻi le afifi taimi-taimi. O lenei afifi e le mafai ona luluina laau, ma o lea e mafai ona faʻaopopo tele i lau fusi tele. O le taimi lava e te faʻapipiʻiina ai le taimi-taimi, e mafai ona e faʻaliliu mea o le Taimi i sone taimi eseese ma le metotia tz. E pei o isi gaioiga Taimi, e suia ai le mea autumea faitino. // Fa'apea taimi US Sasa'e const nei = taimi(); console.log(nei); // Taimi<2026-02-28T20:08:20-05:00>
// Liu i le taimi Pasefika. // Ua leiloa le ulua'i taimi i Sasa'e. now.tz('Amerika/Los_Angeles'); console.log(nei); // Taimi<2026-02-28T17:08:20-08:00>
O galuega fa'atino sone taimi e fausia i totonu ole Temporal API pe a fa'aogaina se mea Temporal.ZonedDateTime. O nei mea faitino e aofia ai se metotia withTimeZone e toe fa'afo'i mai ai se ZonedDateTime fou e fai ma sui o le taimi lava e tasi i le taimi, ae i le sone taimi fa'apitoa. // Toe fa'apea, fa'apea le US Eastern taimi const nei = Temporal.Now.zonedDateTimeISO(); console.log(now.toLocaleString()); // 2/28/2026, 8:12:02 PM EST
// Liu i le taimi Pasefika const nowPacific = now.withTimeZone('Amerika/Los_Angeles'); console.log(nowPacific.toLocaleString()); // 2/28/2026, 5:12:02 PM PST
// O mea muamua e tumau e le suia console.log(now.toLocaleString()); // 2/28/2026, 8:12:02 PM EST
Fa'aaliga: O tulaga fa'atulagaina na toe fa'afo'i mai e toLocaleString, e pei ona ta'u mai e le igoa, fa'alagolago i le lotoifale. O le faʻataʻitaʻiga code na atiaʻe i le en-US locale, o lona uiga e pei o lenei: 2/28/2026, 5:12:02 PM PST. I se isi nofoaga, atonu e ese. Mo se faʻataʻitaʻiga, i le en-GB locale, e te mauaina se mea e pei o 28/2/2026, 17:12:02 GMT-8. O se Fa'afouga Fa'afoliga Moni Fa'apea o lo'o matou fauina se app mo le fa'atulagaina o mea e tutupu i sone taimi. O se vaega o lenei app o se galuega, getEventTimes, lea e ave ai se manoa ISO 8601 e fai ma sui o le taimi ma le aso o le mea na tupu, se taimi faʻapitonuʻu, ma se sone taimi faʻatatau. O le galuega e fatuina ai taimi ma aso faatulagaina mo le mea na tupu i sone taimi e lua. Afai o le galuega e tuʻuina atu se manoa faʻaoga e le o se manoa taimi / aso aoga, o le a lafoina se mea sese. O le uluai faʻatinoga, faʻaaoga le Taimi (e manaʻomia foʻi le faʻaogaina o le pusa taimi-taimi).
faaulufale mai le taimi mai le 'taimi-taimi sone';
galuega getEventTimes(inputString, userTimeZone, targetTimeZone) { const timeFormat = 'MMM D, YYYY, h:mm:ss a z';
// 1. Fausia le taimi muamua i le sone taimi a le tagata faʻaoga const eventTime = moment.tz( inputString, moment.ISO_8601, // Fa'atalitali se manoa ISO 8601 sa'o, // Fa'ata'oto sa'o userTimeZone );
// Togi se mea sese pe afai o le inputString e leʻi faʻatusalia se aso aoga afai (!eventTime.isValid()) { lafo fou Mease('Le aoga aso/taimi fa'aoga'); }
// 2. Fa'atatau le taimi fa'atatau // CRITICAL: E tatau ona tatou faʻapipiʻi, pe suia le 'eventTime' e faʻavavau! const targetTime = eventTime.clone().tz(targetTimeZone);
toe fo'i { lotoifale: eventTime.format(timeFormat), sini: targetTime.format(timeFormat), }; }
const schedule = getEventTimes( '2026-03-05T15:00-05:00', 'Amerika/New_York', 'Europa/Lonetona', );
console.log(schedule.local); // Mati 5, 2026, 3:00:00 pm EST
console.log(schedule.target); // Mati 5, 2026, 8:00:00 pm GMT
I lenei faʻataʻitaʻiga, o loʻo matou faʻaogaina se aso faʻamoemoeina ISO 8601, lea e fesoasoani e fausia i le Taimi. O lo'o matou fa'aogaina fo'i le fa'avasegaina ma'oti, o lona uiga e le taumafai le Taimi e mate i se manoa o aso e le fetaui ma le faatulagaga. Afai e pasia se manoa aso e le ISO, o le a iu i se mea e le aoga aso, ma matou lafoina se mea sese. E foliga tutusa le fa'atinoga Fa'aletupe, ae e iai ni nai eseesega taua.
galuega getEventTimes(inputString, userTimeZone, targetTimeZone) { // 1. Fa'asolo sa'o le fa'aoga i se Instant, ona fai lea // a ZonedDateTime i le sone a le tagata faʻaoga. const instant = Temporal.Instant.from(inputString); const eventTime = instant.toZonedDateTimeISO(userTimeZone);
// 2. Fa'aliliu i le sone fa'atatau // E otometi lava ona toe faʻafoʻi mai se mea FOU; 'eventTime' e saogalemu. const targetTime = eventTime.withTimeZone(targetTimeZone);
// 3. Fa'asologa e fa'aaoga ai le Intl (fa'apipi'i) const options = { tausaga: 'numera', masina: 'pu'upu'u', aso: 'numera', itula: 'numera', minute: '2-numera', lona lua: '2-numera', timeZoneIme: 'pu'upu'u' };
toe fo'i { local: eventTime.toLocaleString(navigator.language, filifiliga), sini: targetTime.toLocaleString(navigator.language, filifiliga) }; }
const schedule = getEventTimes( '2026-03-05T15:00-05:00', 'Amerika/New_York', 'Europa/Lonetona', );
console.log(schedule.local); // Mati 5, 2026, 3:00:00 PM EST
console.log(schedule.target); // Mati 5, 2026, 8:00:00 PM GMT
Faatasi ai ma le Taimi, e tatau ona tatou faʻamaonia manino se manoa faʻatulagaina mo laina aso e maua ai. Po o le a lava le nofoaga o le tagata faʻaoga poʻo le nofoaga, o taimi o mea e fai o le a faʻatulagaina i taimi uma e pei o Mati 5, 2026, 3:00:00pm EST. E le gata i lea, e le tatau ona tatou faʻaalia manino se tuusaunoaga. Afai e pasi atu se manoa le aoga i le Temporal.Instant.from, o le a lafo e le Temporal le tuusaunoaga mo tatou. E tasi le mea e tatau ona maitauina e tusa lava pe faʻamaonia le faʻavasegaina, o le Moment version e sili atu le faʻamalieina. E mana'omia e le taimi le sone taimi e fa'asolo i le pito o le manoa. E tatau foi ona e maitauina talu ai o loʻo matou faʻaogaina le navigator.language, o lenei code o le a naʻo se siʻosiʻomaga suʻesuʻe, aua e le o faʻamalamalamaina le faʻatautaia i totonu o le Node.js siosiomaga. O le fa'atinoga Fa'avaitaimi e fa'aogaina ai le nofoaga o lo'o iai nei le browser (navigator.language), ina ia otometi lava ona maua e le tagata fa'aoga taimi fa'atulagaina i latou taimi fa'apitonu'u. I totonu ole nofoaga ole US, ole Mati 5, 2026, 3:00:00 pm EST. Ae peita'i, afai o lo'o iai le tagata fa'aoga i Lonetona, mo se fa'ata'ita'iga, o le a fa'atulagaina taimi o mea e fai i le aso 5 Mati 2026, 15:00:00 GMT-5. Aotelega
Gaioiga Moment.js Faaletino Taimi nei taimi() Temporal.Now.zonedDateTimeISO() Fa'avasega ISO taimi(str) Temporal.Instant.from(str) Faaopoopo le taimi .fa'aopoopo(7, 'aso') (mute) .faaopoopo({aso: 7}) (mea fou) Eseesega .diff(isi, 'itula') .talu(isi).itula Sone taimi .tz('Sone/Igoa') .withTimeZone('Sone/Igoa')
I le tepa muamua, o le eseesega atonu e teisi ese (ma i le tulaga o le Temporal, o nisi taimi e sili atu le tautala ma sili atu le saʻo) syntax, ae o loʻo i ai le tele o mea taua i le faʻaaogaina o le Temporal over Moment.js:
O le fa'amanino atili o lona uiga e itiiti ni mea fa'ate'ia ma fa'aletonu e le'i fa'amoemoeina. O le taimi e foliga mai e sili atu le malie, ae e aofia ai le "matemate," lea e mafai i nisi taimi ona iu ai i ni aso e le sa'o. Afai e te tuʻuina atu i le Temporal se mea e le aoga, e lafo ai se mea sese. Afai e alu le code, e te iloa e iai sau aso aoga. E mafai e le taimi ona fa'aopoopo le tele tele i le fusi o le talosaga, aemaise pe afai o lo'o e fa'aogaina le afifi taimi-taimi. E leai se mea e fa'aopoopoina le tumau (pe a lafo i au su'esu'ega fa'atatau). O le le mafai ona suia e te maua ai le mautinoa e te le leiloa pe fa'asolo fa'amaumauga pe a fa'atino suiga o aso ma fa'agaioiga. Eseese fa'atusa o le taimi (Instant, PlainDateTime, ZonedDateTime) fa'atatau i ou mana'oga, lea o le Taimi e masani lava o se afifi i le UTC timestamp. O lo'o fa'aogaina e le Fa'aletino le Intl APIs mo le fa'atulagaina o aso, o lona uiga e mafai ona e maua le fa'avasegaina fa'apitonu'u e aunoa ma le fa'ailoa manino mai o fa'ailoga.
Fa'amatalaga i luga ole Polyfill E pei ona taʻua muamua, o loʻo iai le Temporal polyfill o loʻo avanoa, tufatufaina o se npm package e igoa @js-temporal/polyfill. Afai e te manaʻo e faʻaaoga le Temporal i aso nei, e te manaʻomia lenei polyfill e lagolago ai suʻesuʻega e pei o Safari e leʻi lafoina le API. O le tala leaga i lenei mea o le a faʻaopopo i lau fusi tele. O le tala fiafia o loʻo faʻaopoopoina e itiiti ifo nai lo le taimi poʻo le taimi-taimi sone. Ole fa'atusatusaga lea ole lapopo'a e pei ona lipotia mai e Bundlephobia.com, ose upega tafa'ilagi o lo'o tu'uina atu fa'amatalaga ile npm package sizes (kiliki ile igoa ole afifi e va'ai ile su'esu'ega o le Bundlephobia):
afifi Fa'aitiitiga Fa'aitiitiga & gzipped @js-temporal/polyfill 154.1 kB 44.1 kB taimi 294.4 kB 75.4 kB taimi-taimi sone 1 MB 114.2 kB
O le polyfill sa iai foʻi i tala faʻasolopito nisi o faʻafitauli faʻatinoga e uiga i le faʻaogaina o mafaufauga, ma i le taimi o le tusitusi, e manatu o loʻo i totonu o le alpha state. Ona o lenei mea, atonu e te le manaʻo e faʻaaogaina i le gaosiga seia oʻo i se tulaga matua. O le isi tala lelei o le faʻamoemoe o le polyfill o le a le manaʻomia tele atu (sei vagana ua e manaʻomia le lagolagoina o suʻesuʻega matutua, ioe). I le taimi o le tusitusi, Temporal ua lafo i Chrome, Edge, ma Firefox. E leʻi saunia lelei i Safari, e ui lava e foliga mai o loʻo avanoa ma se fuʻa taʻavale i luga ole Faʻamatalaga Faʻatekonolosi lata mai.