ዳርጋ ዝኾነ ዓይነት ብጃቫስክሪፕት ዝተጻሕፈ ኣፕሊኬሽን ብገለ ዓቕሚ ምስ ሰዓታት ወይ ዕለታት ይሰርሕ። ኣብ መጀመርታ እዚ ኣብቲ ኣብ ውሽጡ ዝነበረ Date API ጥራይ ዝተሓጽረ እዩ ነይሩ። እዚ ኤፒኣይ መሰረታዊ ተግባራት ዘጠቓልል ኮይኑ፡ ኣብ ክገብሮ ዝኽእል ግን ኣዝዩ ድሩት እዩ። ከም Moment.js ዝኣመሰሉ ናይ ሳልሳይ ወገን ቤተ-መጻሕፍቲ፡ ድሒሮም ድማ ኣብ ውሽጦም ዝተሃንጹ ኤፒኣይ ከም Intl APIsን ሓድሽ Temporal APIን፡ ምስ ሰዓታትን ዕለታትን ንምስራሕ ኣዝዩ ዝዓበየ ተዓጻጻፍነት ይውስኹ። ምልዓልን ምውዳቕን ህሞት.js Moment.js ምስ ሰዓታትን ዕለታትን ንምስራሕ ሓያል ዩቲሊቲታት ዘለዎ ናይ ጃቫስክሪፕት ቤተ-መጻሕፍቲ እዩ። ካብ መሰረታዊ Date API ዝጎደሉ ባህርያት ከም ናይ ሰዓት ዞባ ምትላል ዘጠቓልል ኮይኑ፡ ብዙሓት ልሙዳት ስርሓት ቀሊል ይገብሮም። ሞመንት ንዕለታትን ሰዓታትን ንምቕራጽ ዝሕግዙ ተግባራት እውን የጠቓልል። ኣብ ብዙሕ ዝተፈላለየ ኣፕሊኬሽናት ብሰፊሑ ዝጥቀመሉ ቤተ-መጻሕፍቲ ኰነ። ይኹን እምበር ሞመንት እውን ብጽሒቱ ኣብ ጉዳያት ነይርዎ። ዓቢ ቤተ-መጻሕፍቲ’ዩ፣ ኣብ ልዕሊ ዓቐን ጽንጽዋይ ናይ ሓደ ኣፕሊኬሽን ድማ ብዓቢኡ ክውስኽ ይኽእል። እቲ ቤተ-መጻሕፍቲ ምንቅጥቃጥ ገረብ (ዘይተጠቐምናሉ ክፋላት ቤተ-መጻሕፍቲ ከወግድ ዝኽእል ባህሪ ዘመናዊ ጽንጽዋይ) ስለዘይድግፍ፡ ዋላ’ውን ሓደ ወይ ክልተ ካብ ተግባራቱ ጥራይ እንተተጠቐምካ፡ ምሉእ ቤተ-መጻሕፍቲ ሞመንት ተኻቲቱ ኣሎ። ካልእ ጉዳይ ሞመንት፡ እቶም ዝፈጥሮም ነገራት ተለዋዋጢ ምዃኖም እዩ። ኣብ ሓደ Moment ዝበሃል ነገር ዝተወሰኑ ተግባራት ምጽዋዕ ጎናዊ ሳዕቤናት ኣለዎ፡ ንዋጋ ናይቲ ነገር ድማ ይቕይሮ። እዚ ድማ ናብ ዘይተጸበኻዮ ባህሪ ወይ ብልሽት ከስዕብ ይኽእል። ኣብ 2020 ዓ.ም.ፈ ሓለውቲ ሞመንት ነቲ ቤተ መጻሕፍቲ ናብ ሞድ ጽገና ከእትውዎ ወሲኖም። ዝኾነ ሓድሽ ምምዕባል ባህርያት ኣይግበርን እዩ፣ እቶም ተሓለቕቲ ድማ ንሓደስቲ ፕሮጀክትታት ከይጥቀሙሉ ይመኽሩ። ካልኦት ናይ ጃቫስክሪፕት ዕለት ቤተ-መጻሕፍቲ ኣለዉ፡ ከም date-fns፡ ግን ኣብ ከተማ ሓድሽ ተጻዋታይ ኣሎ፡ ብቐጥታ ኣብ ጃቫስክሪፕት ዝተሃንጸ ኤፒኣይ፡ ግዝያዊ። ንጉድጓድ ናይ’ቲ መበቆላዊ ዕለት ኤፒኣይ ዝመልእ ከምኡ’ውን ገለ ካብ’ቲ ኣብ ሞመንትን ካልኦት ቤተ-መጻሕፍትን ዝርከብ ድሩትነት ዝፈትሕ ሓድሽ ደረጃ’ዩ። ግዝያዊ እንታይ እዩ? ቴምፖራል ኣብቲ ዘመናዊ ጃቫስክሪፕት ዝገልጽ ECMAScript ስታንዳርድ ዝውሰኽ ዘሎ ሓድሽ ናይ ግዜን ዕለትን ኤፒኣይ እዩ። ካብ መጋቢት 20266 ጀሚሩ፡ ኣብ ደረጃ 4 ናይ መስርሕ TC39 (እታ ኣብ ቋንቋ ጃቫስክሪፕት ዝቐርቡ እማመታትን ተወሳኺታትን እትከታተል ኮሚተ) በጺሓ ኣላ፡ ኣብ ዝቕጽል ስሪት ናይ ECMAScript ስፔሲፊኬሽን ድማ ክትካተት እያ። ድሮ ኣብ ሓያሎ መርበብ ሓበሬታታት ማለት ኣብ ክሮም 144+ን ፋየርፎክስ 139+ን ተግባራዊ ኮይኑ ኣሎ፡ ሳፋሪ ድማ ኣብ ቀረባ እዋን ክስዕብ ትጽቢት ይግበር። ንዘይድገፉ ዳህሰስቲን Node.jsን እውን ፖሊፊል ኣሎ። እቲ ግዝያዊ ኤፒኣይ ብሓፈሻ ኣብ ግዜ ንዝርከቡ ህሞታት ዝውክሉ ነገራት ይፈጥር። እዚኦም ኣብ ዝተዋህበ ናይ ሰዓት ዞባ ናይ ምሉእ ግዜን ዕለትን ማሕተማት ክኾኑ ይኽእሉ፣ ወይ ድማ ብዘይ ዝኾነ ናይ ሰዓት ዞባ ወይ ዕለት ሓበሬታ ሓፈሻዊ ኣብነት ናይ “መንደቕ ሰዓት” ሰዓት ክኾኑ ይኽእሉ። ገለ ካብቶም ቀንዲ መለለዪታት ቴምፖራል፤
ዕለታት ዘለዎም ወይ ዘይብሎም ግዜታት።ግዝያዊ ነገር ኣብ ፍሉይ ዕለት ንዝተወሰነ ሰዓት ክውክል ይኽእል፣ ወይ ድማ ዝኾነ ሓበሬታ ዕለት ዘይብሉ ሰዓት ክውክል ይኽእል። ፍሉይ ዕለት፡ ብዘይ ሰዓት እውን ክውከል ይኽእል እዩ። ደገፍ ዞባ ሰዓት።ግዝያዊ ነገራት ምሉእ ብምሉእ ዞባ ሰዓት ዝፈልጡ ኮይኖም ኣብ ዝተፈላለየ ዞባታት ሰዓት ክቕየሩ ይኽእሉ። ሞመንት ንዞባታት ሰዓት እውን ይድግፍ እዩ፣ ግን ተወሳኺ ናይ ሞመንት-ዞባ ሰዓት ቤተ-መጻሕፍቲ ይሓትት። Immutability.ሓንሳብ Temporal object ምስ ተፈጥረ ክቕየር ኣይክእልን እዩ። ናይ ግዜ ስነ-ቁጽሪ ወይ ናይ ሰዓት ዞባ ምቕያር ነቲ መሰረታዊ ነገር ኣይቅይሮን እዩ። ኣብ ክንድኡስ ሓድሽ Temporal object ይፈጥሩ። 1-based indexing.ሓደ ልሙድ ምንጪ ናይ ስሕተት ምስ Date API (ከምኡ ውን ምስ Moment) ኣዋርሕ ዜሮ-indexed ምዃኑ እዩ። እዚ ማለት ጥሪ ወርሒ 0 እያ፣ ኣብ ክንዲ ወርሒ 1 ከምቲ ኩላትና ኣብ ሓቀኛ ህይወት እንርድኦ። ግዝያዊ ነዚ 1-መሰረት ዝገበረ ኢንዴክስ ብምጥቃም ይእርሞ — ጥሪ ወርሒ 1 እዩ። ኣብ ውሽጢ መርበብ ሓበሬታ ዝተሃንጸ’ዩ።Temporal ኣብ መርበብ ሓበሬታ ባዕሉ ዝርከብ ኤፒኣይ ስለ ዝኾነ፡ ኣብ ልዕሊ ዓቐን ጽንጽዋይ መተግበሪኻ ዝውስኾ ነገር የለን።
እቲ Date API ከምዘይከይድ ምፍላጥ’ውን ኣገዳሲ’ዩ። ቴምፖራል ነዚ ኤፒኣይ ክትክኦ እንከሎ፡ ኣይእለ ወይ ኣይእለን ኣሎ። ብዙሓት ኣፕሊኬሽናት ብራውዘርስ ሃንደበት ነቲ Date API እንተዘውጽእዎ ምተሰብሩ ነይሮም። ይኹን እምበር፡ ሞመንት ሕጂ ኣብ ሞድ ጽገና ከም ውርሻ ፕሮጀክት ከም ዝቑጸር እውን ኣብ ግምት ኣእትውዎ። ኣብ ዝተረፈ ክፋል ናይ’ቲ ጽሑፍ፡ ገለ “ኣሰራርሓ መግቢ” ንሞመንት መሰረት ዝገበረ ኮድ ናብ ሓድሽ Temporal API ንምስግጋር ክንርኢ ኢና። ዳግመ-ፋክተር ምግባር ንጀምር! ዕለትን ሰዓትን ዝብሉ ነገራት ምፍጣር ቅድሚ ዕለታትን ሰዓታትን ምትዕጽጻፍና፡ ንዕኦም ዝውክሉ ነገራት ክንፈጥር ኣለና። ነቲ ናይ ሕጂ ዕለትን ሰዓትን ዝውክል Moment object ንምፍጣር፡ moment function ተጠቐም። const ሕጂ = ህሞት (); console.log(ሕጂ)፤ // ህሞት<2026-02-18T21:26:29-05:00>
እዚ ነገር ሕጂ ከም ኣድላይነቱ ቅርጺ ወይ ምትዕጽጻፍ ይከኣል።
// ናብ UTC ምቕያር //warning: እዚ ነቲ Moment object ይቕይሮ እሞ ኣብ UTC mode የቐምጦ! ኮንሶል.ሎግ (ሕጂ.utc ()); // ህሞት<2026-02-19T02:26:29Z>
// ቅርጺ ዘለዎ ሕብረ ቃላት ምሕታም - ሕጂ ናይ UTC ግዜ ይጥቀም ከምዘሎ ኣስተውዕል console.log(now.format('MM/DD/YYYY hh:ሚሜ:ss a')); // 02/19/2026 02፡27፡07 ቅ.ቀ
ብዛዕባ ሞመንት ክንዝክሮ ዘለና ቁልፊ ነገር፡ ሓደ ሞመንት ዝበሃል ነገር ኩሉ ግዜ ብዛዕባ ሰዓትን ዕለትን ሓበሬታ ዘጠቓልል ምዃኑ እዩ። ምስ ናይ ግዜ ሓበሬታ ጥራይ ክትሰርሕ እንተድኣ ኣድልዩካ፡ እዚ መብዛሕትኡ ግዜ ጽቡቕ እዩ፡ ግን ኣብ ከም Daylight Saving Time ወይ leap years ዝኣመሰሉ ኩነታት ዘይተጸበኻዮ ባህሪ ከስዕብ ይኽእል እዩ፡ ኣብዚ እቲ ዕለት ኣብ ስሌታት ግዜ ጽልዋ ክህልዎ ይኽእል። ግዝያዊ ዝያዳ ተዓጻጻፊ እዩ። Temporal.Instant ዝበሃል ነገር ብምፍጣር ነቲ ናይ ሕጂ ዕለትን ሰዓትን ዝውክል ነገር ክትፈጥር ትኽእል። እዚ ድማ ካብ “ዘመን” (ፍርቂ ለይቲ UTC ብ1 ጥሪ 1970) ጀሚሩ ብግዜ ዝተገልጸ ነጥቢ ግዜ ዝውክል እዩ። ግዝያዊ ነዚ ቅጽበት ኣብ ግዜ ብደረጃ ናኖ ካልኢት ትኽክለኛነት ክውከሶ ይኽእል። const ሕጂ = ግዝያዊ.ሕጂ.ቅጽበታዊ ();
// ካብቲ ዘመን ጀሚሩ ጥረ ናኖሰከንድታት ርአ console.log(ሕጂ.epochNanoseconds)፤ // 1771466342612000000ን
// ቅርጺ ንUTC ኮንሶል.ሎግ (ሕጂ.ናብስትሪንግ ()); // 2026-02-19T01:55:27.844Z
// ቅርጺ ንፍሉይ ናይ ሰዓት ዞባ console.log(now.toString({ timeZone: 'ኣሜሪካ/ኒው_ዮርክ' })); // 2026-02-18T20:56:57.905-05:00
Temporal.Instant objects ንፍሉይ ግዜን ዕለትን እውን ካብ static method ብምጥቃም ክፈጥሩ ይኽእሉ።
const myInstant = ግዝያዊ.ቅጽበታዊ.ካብ ('2026-02-18T21:10:00-05:00');
// ነቲ ቅጽበታዊ ኣብቲ ናይ ከባቢ ሰዓት ዞባ ቅርጺ ግበር። እዚ ጥራይ ከም ዝቆጻጸር ኣስተውዕል // እቲ ቅርጺ - ከምቲ moment.utc ዝገብሮ ነቲ ነገር ኣይቅይሮን እዩ። console.log(myInstant.toString({ ዞባ ግዜ: 'ኣሜሪካ/ኒው_ዮርክ' })); // 2026-02-18T21:10:00-05:00
ካልኦት ዓይነታት Temporal objects እውን ክትፈጥር ትኽእል ኢኻ፣ ንሳቶም ድማ፤
Temporal.PlainDate: ናይ ሰዓት ሓበሬታ ዘይብሉ ዕለት። Temporal.PlainTime: ዕለት ሓበሬታ ዘይብሉ ሰዓት። Temporal.ZonedDateTime: ኣብ ሓደ ፍሉይ ናይ ሰዓት ዞባ ዝርከብ ዕለትን ሰዓትን።
ነፍሲ ወከፎም ካብ ሜላ ኣለዎም እዚ ድማ ብዕለትን/ወይ ሰዓትን ዝገልጽ ነገር ክጽዋዕ ዝኽእል፣ ወይ ድማ ክትንተን ዝግበኦ ናይ ዕለት ሕብረ ቃላት። // ዕለት ጥራይ const today = ግዝያዊ.ጽሩይ ዕለት.ካብ({ ዓመት፡ 2026፡ month: 2, // ንለካቲት 2 ንጥቀም ከምዘለና ኣስተውዕል መዓልቲ፡ 18 }); console.log (ሎሚ.ናብስትሪንግ ()); // 2026-02-18 ዓ.ም
// ግዜ ጥራይ const lunchTime = ግዝያዊ.ግሩም ግዜ.ካብ({ ሰዓት፡ 12 }); console.log(ናይ ምሳሕ ግዜ.ናብ ሕብረ-ቁጽሪ ()); // ሰዓት 12፡00፡00
// ኣብ ምብራቓዊ ዞባ ሰዓት ኣሜሪካ ዝርከብ ዕለትን ሰዓትን። const dueAt = ግዝያዊ.ዞናዊ ዕለትግዜ.ካብ({ timeZone: 'ኣሜሪካ/ኒው_ዮርክ', ዓመት፡ 2026፡ ወርሒ፡ 3, 2019። መዓልቲ፡ 1, 2019። ሰዓት፡ 12, 2019። ደቒቕ፡ 0, ካልኣይ፡ 0 }); ኮንሶል.ሎግ (dueAt.toString ()); // 2026-03-01T12:00:00-05:00[ኣሜሪካ/ኒው_ዮርክ]
ምትንታን እዩ። ፕሮግራማዊ ምፍጣር ሓበሬታ ዕለትን ሰዓትን ሸፊንናዮ ኣለና። ሕጂ ንፓርሲንግ ንርአ። ፓርሲንግ ሓደ ካብቲ ሞመንት ካብቲ ኣብ ውሽጡ ዘሎ ቴምፖራል ኤፒኣይ ዝያዳ ተዓጻጻፊ ዝኾነሉ ዓውዲ እዩ። ንሓደ ናይ ዕለት ሕብረ-ቁጽሪ ናብ ሞመንት ፋንክሽን ብምሕላፍ ክትትንትኖ ትኽእል። ብሓደ ሞጎት፡ ሞመንት ናይ ISO ዕለት ሕብረ-ቁጽሪ ይጽበ፡ እንተኾነ ግን ነቲ ዝጥቀመሉ ዘሎ ቅርጺ ዕለት ዝገልጽ ካልኣይ ምጉት እንተድኣ ኣቕሪብካ ኣማራጺ ቅርጽታት ክትጥቀም ትኽእል ኢኻ።
const isoDate = ህሞት ('2026-02-21T09:00:00'); const formattedDate = ህሞት ('2/21/26 9:00:00', 'M/D/YY h:mm:ss');
ኮንሶል.ሎግ (isoDate); // ህሞት<2026-02-21T09:00:00-05:00>
console.log(ቅርጺ ዝተገብረሉ ዕለት); // ህሞት<2026-02-21T09:00:00-05:00>
ኣብ ናይ ቀደም ስሪት፡ ሞመንት ዝኾነ ብዘይ ፍቓድ ዝተቐርጸ ናይ ዕለት ሕብረ-ቁጽሪ ንምትንታን ዝበለጸ ግምት ምገበረ። እዚ ድማ ዘይግመት ውጽኢት ከስዕብ ይኽእል እዩ። ንኣብነት 02-03-2026 ለካቲት 2 ድዩ ወይስ 3 መጋቢት? በዚ ምኽንያት’ዚ፡ ሓደስቲ ስሪት ሞመንት ብዘይ ISO ቅርጺ ዘለዎ ናይ ዕለት ሕብረ-ቁጽሪ እንተተጸዊዑ (እቲ ካልኣይ ምጉት ምስቲ ዝድለ ቅርጺ’ውን እንተዘይተዋሂቡ) ጐሊሑ ዝረአ መጠንቀቕታ ምጉዳል የርእዩ። ግዝያዊ ብፍሉይ ዝተቐረጸ ናይ ዕለት ሕብረ-ቁጽሪ ጥራይ እዩ ዝትንትን። እቲ ሕብረ-ቁጽሪ ምስ ቅርጺ ISO 8601 ወይ መቐጸልታኡ፡ RFC 9557 ዝሰማማዕ ክኸውን ኣለዎ።ዘይሰማማዕ ናይ ዕለት ሕብረ-ቁጽሪ ናብ ካብ ሜላ እንተተሓሊፉ፡ Temporal RangeError ክድርቢ እዩ።
// RFC 9557 ዕለት ሕብረ ቃላት ምጥቃም const myDate = ግዝያዊ.ቅጽበታዊ.ካብ ('2026-02-21T09:00:00-05:00[ኣሜሪካ/ኒው_ዮርክ]'); console.log(myDate.toString({ ዞባ ግዜ: 'ኣሜሪካ/ኒውዮርክ' })); // 2026-02-21T09:00:00-05:00
// ዘይፍለጥ ዕለት ሕብረ ቃላት ምጥቃም const ካልእዕለት = ግዝያዊ.ቅጽበታዊ.ካብ ('2/21/26 9:00:00'); // RangeError: ግዝያዊ ጌጋ: ዋጋ ዓመት ኣብ ምፍታሽ ዘይሕጋዊ ፊደል።
ልክዕ ጠለባት ናይ’ቲ ናይ ዕለት ሕብረ-ቁጽሪ ኣብ ኣየናይ ዓይነት Temporal object ትፈጥሮ ከም ዘለኻ ይምርኮስ። ኣብዚ ኣብ ላዕሊ ዘሎ ኣብነት Temporal.Instant ምሉእ ISO የድልዮ8601 ወይ RFC 9557 ዕለት ሕብረ ቁጽሪ ብናይ ሰዓት ዞባ ምትዕርራይ ዝገልጽ ዕለትን ሰዓትን፣ ግን ንኡስ ስብስብ ናይቲ ዕለት ቅርጺ ጥራይ ተጠቒምካ PlainDate ወይ PlainTime ነገራት ክትፈጥር ትኽእል ኢኻ። const myDate = ግዝያዊ.ጽሩይ ዕለት.ካብ ('2026-02-21'); console.log (ዕለተይ.ናብ ሕብረ-ቁጽሪ ()); // 2026-02-21 ዓ.ም
const myTime = ግዝያዊ.ግሉጽ ግዜ.ካብ ('09:00:00'); console.log (ግዜይ.ናብ ሕብረ-ቁጽሪ ()); // 09፡00፡00
እዞም ሕብረታት ገና ምስቲ ትጽቢት ዝግበረሉ ቅርጺ ክሰማምዑ ከም ዘለዎም ኣስተውዕል፣ እንተዘይኮይኑ ጌጋ ክድርበ እዩ።
// ዘይተሰማምዐ ናይ ግዜ ሕብረ ቃላት ምጥቃም። እዚኦም ኩሎም RangeError ክድርብዩ እዮም። ግዝያዊ.ግሉጽ ግዜ.ካብ('9:00'); ግዝያዊ.ግሉጽ ግዜ.ካብ('9:00:00 ቅድሚ ቀትሪ');
Pro tip: Handling non-ISO stringsTemporal ንተኣማንነት ቀዳምነት ስለ ዝህቦ፡ ቅርጺ ናይ ከም 02-01-2026 ዝኣመሰለ ሕብረ-ቁጽሪ ክግምት ኣይፍትንን’ዩ። ምንጪ ዳታኻ ከምዚ ዓይነት ሕብረ-ቁጽሪ እንተተጠቒሙ፡ ቅድሚ ምስ Temporal ክትጥቀመሉ ምፍታንካ፡ ነቶም ክብርታት ናብ ከም 2026-02-01 ዝኣመሰለ ISO ሕብረ-ቁጽሪ ዳግማይ ንምስራዕ ገለ ምትላል ሕብረ-ቁጽሪ ክትገብር ከድልየካ እዩ።
ፎርማት ምግባር Moment ወይ Temporal ዝበሃል ነገር ምስ ረኸብካ፡ ምናልባት ኣብ ሓደ እዋን ናብ ቅርጺ ዘለዎ ሕብረ-ቁጽሪ ክትቅይሮ ትደሊ ትኸውን። እዚ ሞመንት ቁሩብ ጽፉፍ ዝኾነሉ ኣብነት እዩ። ነቲ ናይቲ ነገር ቅርጺ ሜላ ብሓደ ሕብረ-ቁጽሪ ቶከናት ትጽውዖ፡ እዚ ድማ ነቲ ዝደለኻዮ ቅርጺ ዕለት ዝገልጽ እዩ። const ዕለት = ህሞት ();
console.log(ዕለት.ፎርማት ('MM/DD/YYYY')); // 02/22/2026 ዓ.ም
console.log(date.format('MMMM Do YYYY, h: ሚሜ:ss a')); // 22 ለካቲት 2026፡ ሰዓት 8፡18፡30 ድሕሪ ቀትሪ
ብኻልእ ወገን ድማ ቴምፖራል ቁሩብ ዝያዳ ቃላት ክትዛረብ ይጠልበካ። ከም Instant ዝኣመሰሉ ግዝያዊ ነገራት፡ ከም ባህርያት ናይ ሓደ ነገር ዝተገልጹ ዝተፈላለዩ ናይ ቅርጺ ኣማራጺታት ዝቕበል toLocaleString ሜላ ኣለዎም።
const date = ግዝያዊ.ሕጂ.ቅጽበታዊ ();
// ብዘይ ዝኾነ ሞጎተ፡ ናይቲ ሕጂ ዘሎ ሎካል ነባሪ ቅርጺ ክንረክብ ኢና። console.log (ዕለት.ናብከባቢ ሕብረ-ቁጽሪ ()); // 2/22/2026, 8:23:36 PM (ናይ en-US ዝብል ሎካል ብምግማት)
// ብሕታዊ ቅርጺ ሕብረ-ቁጽሪ ንምፍጣር ናይ ቅርጺ ኣማራጺታት ምሕላፍ console.log(ዕለት.ናብከባቢሕብረ-ቁጽሪ('en-US', { ወርሒ፡ 'ነዊሕ'፡ መዓልቲ፡ 'ቁጽራዊ'፡ ዓመት፡ 'ቁጽራዊ'፡ ሰዓት፡ '2-ኣሃዝ'፡ ደቒቕ፡ '2-ኣሃዝ'። })); // ለካቲት 22, 2026 ሰዓት 8፡23 ድ.ቀ
// ኣብቲ ቅርጺ ሕብረ ቃላት ዝደለኻዮም ዓውድታት ጥራይ ምሕላፍ console.log(ዕለት.ናብከባቢሕብረ-ቁጽሪ('en-US', { ወርሒ፡ 'ሓጺር'፡ መዓልቲ፡ 'ቁጽራዊ'። })); // ለካቲት 22
ግዝያዊ ቅርጺ ዕለት ብሓቂ ኣብ ትሕቲ ሽፋን Intl.DateTimeFormat API (ድሮ ኣብ ዘመናዊ ዳህሰስቲ ብቐሊሉ ዝርከብ) ይጥቀም። እዚ ማለት ምስቲ ብሕታዊ ናይ ቅርጺ ኣማራጺታትካ ዳግማይ ክጥቀመሉ ዝኽእል DateTimeFormat ነገር ክትፈጥር ትኽእል ኢኻ፣ ድሕሪኡ Temporal ነገራት ናብቲ ናይ ቅርጺ ሜላኡ ከተሕልፍ ትኽእል። በዚ ምኽንያት’ዚ ድማ ከምቲ ሞመንት ዝገብሮ custom date formats ኣይድግፍን’ዩ። ከም 'Q1 2026' ወይ ካልእ ፍሉይ ቅርጺ እንተድኣ ደሊኻ፡ ገለ ብሕታዊ ናይ ዕለት ቅርጺ ኮድ ወይ ንሳልሳይ ወገን ቤተ-መጻሕፍቲ ምብጻሕ ከድልየካ ይኽእል እዩ። const formatter = ሓድሽ Intl.DateTimeFormat('ትግራይ-ኣሜሪካ', { ወርሒ፡ '2-ኣሃዝ'፡ መዓልቲ፡ '2-ኣሃዝ'፡ ዓመት፡ 'ቁጽራዊ'። });
const date = ግዝያዊ.ሕጂ.ቅጽበታዊ (); console.log(ፎርማተር.ፎርማት(ዕለት)); // 02/22/2026 ዓ.ም
Moment’s formatting tokens ንምጽሓፍ ዝቐለሉ’ኳ እንተኾኑ፡ ንከባቢ ዝምችኡ ግን ኣይኮኑን። እቲ ፎርማት ከም ወርሒ/መዓልቲ ስርዓት ዝኣመሰሉ ነገራት “ሃርድ ኮድ” ዝብል ሕብረ ቃላት ይሕዝ። ከምቲ Temporal ዝገብሮ ናይ ውቅር ነገር ምጥቃም ዘለዎ ብልጫ፡ ብኣውቶማቲክ ምስ ዝኾነ ዝተዋህበ ሎካል ክላመድን ቅኑዕ ቅርጺ ክጥቀምን እዩ። const date = ግዝያዊ.ሕጂ.ቅጽበታዊ ();
const formatኣማራጺታት = { ወርሒ፡ 'ቁጽራዊ'፡ መዓልቲ፡ 'ቁጽራዊ'፡ ዓመት፡ 'ቁጽራዊ'። }፤
console.log (ዕለት.ናብLocaleString ('en-US', ቅርጺኣማራጺታት)); // 2/22/2026 ዓ.ም
console.log (ዕለት.toLocaleString ('en-GB', ቅርጺኣማራጺታት)); // 22/02/2026 ዓ.ም
ዕለት ስሌታት ኣብ ብዙሓት ኣፕሊኬሽናት፡ ኣብ መወዳእታ ገለ ስሌታት ኣብ ሓደ ዕለት ክትፍጽም ከድልየካ’ዩ። ኣሃዱታት ግዜ (መዓልታት፡ ሰዓታት፡ ካልኢታት ወዘተ) ክትውስኽ ወይ ከተጉድል ትኽእል ኢኻ። ንኣብነት ህሉው ዕለት እንተሃልዩካ ድሕሪ 1 ሰሙን ነቲ ተጠቃሚ ዕለት ከተርእዮ ትኽእል ኢኻ። ሞመንት ነገራት ነዞም ስርሒታት ዝፍጽሙ ከም ምውሳኽን ምንካይን ዝኣመሰሉ ሜላታት ኣለዎም። እዞም ፋንክሽን እዚኦም ዋጋን ኣሃዱን ይወስዱ፣ ንኣብነት: add(7, 'days')። ሓደ ኣዝዩ ኣገዳሲ ፍልልይ ኣብ መንጎ ሞመንትን ቴምፖራልን ግን ነዞም ናይ ዕለት ስሌታት ኣብ ዝፍጸመሉ እዋን እቲ መሰረታዊ ነገር ይቕየርን መበቆላዊ ዋጋኡ ይጠፍእን እዩ። const ሕጂ = ህሞት ();
console.log(ሕጂ)፤ // ህሞት<2026-02-24T20:08:36-05:00>
const nextWeek = now.add (7, 'መዓልታት'); console.log(ዝመጽእ ሰሙን)፤ // ህሞት<2026-03-03T20:08:36-05:00>
// ጎትቻ - እቲ መበቆላዊ ነገር ተቐይሩ console.log(ሕጂ)፤ // ህሞት<2026-03-03T20:08:36-05:00>
እቲ መበቆላዊ ዕለት ንኸይትስእን፡ ኣብቲ Moment object clone ብምድዋል ቅዳሕ ክትፈጥር ትኽእል ኢኻ። const ሕጂ= ህሞት (); const nextWeek = ሕጂ.ክሎን ().add (7, 'መዓልታት');
console.log(ሕጂ)፤ // ህሞት<2026-02-24T20:12:55-05:00>
console.log(ዝመጽእ ሰሙን)፤ // ህሞት<2026-03-03T20:12:55-05:00>
ብኻልእ ወገን ድማ Temporal objects ዘይልወጡ እዮም። ከም Instant, PlainDateን ካልእን ዝኣመሰለ ነገር ምስ ፈጠርካ፡ ዋጋ ናይ’ቲ ነገር ፈጺሙ ኣይቅየርን’ዩ። ግዝያዊ ነገራት እውን ናይ ምውሳኽን ምጉዳልን ሜላታት ኣለዎም። ቴምፖራል ኣየኖት ናይ ግዜ ኣሃዱታት ኣብ ኣየኖት ዓይነታት ነገራት ክውሰኹ ከም ዝኽእሉ ቁሩብ ምምራጽ እዩ። ንኣብነት፡ ኣብ Instant መዓልታት ክትውስኽ ኣይትኽእልን ኢኻ፤
const ሕጂ = ግዝያዊ.ሕጂ.ቅጽበታዊ (); const nextWeek = now.add({ መዓልታት: 7 }); // RangeError: ግዝያዊ ጌጋ: ዝዓበየ ኣሃዱ ናይ ዕለት ኣሃዱ ክኸውን ኣይክእልን እዩ።
እዚ ዝኾነሉ ምኽንያት ድማ Instant objects ኣብ UTC ንፍሉይ ነጥቢ ግዜ ዝውክሉን ካላንደር-ኣግኖስቲክ ስለዝኾኑን እዩ። ንውሓት ናይ ሓደ መዓልቲ ብመሰረት ሕግታት ዞባ ሰዓት ከም Daylight Saving Time ክቕየር ስለ ዝኽእል፡ እዚ ስሌት’ዚ ኣብ Instant ኣይርከብን’ዩ። ነዚ ስርሒት እዚ ግን ኣብ ካልኦት ዓይነታት ነገራት ከም PlainDateTime ክትገብሮ ትኽእል ኢኻ፤ const ሕጂ = ግዝያዊ.ሕጂ.plainDateTimeISO (); console.log (ሕጂ.ናብLocaleString ()); // 2/24/2026፡ ሰዓት 8፡23፡59 ድ.ቀ
const nextWeek = now.add({ መዓልታት: 7 });
// እቲ መበቆላዊ PlainDateTime ከምዘይተቐየረ ኣስተውዕል console.log (ሕጂ.ናብLocaleString ()); // 2/24/2026፡ ሰዓት 8፡23፡59 ድ.ቀ
console.log(ዝቕጽል ሰሙን.ናብLocaleString()); // 3/3/2026፡ ሰዓት 8፡23፡59 ድ.ቀ
ኣብ መንጎ ክልተ Moment ወይ Temporal objects ክንደይ ግዜ ከምዘሎ እውን ክትሕስብ ትኽእል ኢኻ። ምስ Moment’s diff function፡ ንgranularity ዝኸውን ኣሃዱ ክትህብ ኣለካ፡ እንተዘይኮይኑ ነቲ ፍልልይ ብሚሊሰከንድ ክመልሶ እዩ። const date1 = ህሞት ('2026-02-21T09:00:00'); const date2 = ህሞት ('2026-02-22T10:30:00');
console.log(ዕለት2.ፍልልይ(ዕለት1)); // 91800000
console.log(ዕለት2.diff(ዕለት1, 'መዓልታት')); // 1
ነዚ ብ Temporal object ንምግባር ካልእ Temporal object ናብቲ until or since ዝብል ሜላታቱ ከተሕልፎ ትኽእል ኢኻ። እዚ ብዛዕባ ናይ ግዜ ፍልልይ ሓበሬታ ዝሓዘ Temporal.Duration ነገር ይመልስ። እቲ Duration ዝብል ነገር ንነፍሲ ወከፍ ኣካል ናይቲ ፍልልይ ባህርያት ኣለዎ፣ ከምኡ’ውን ነቲ ናይ ግዜ ፍልልይ ዝውክል ISO 8601 duration string ክፈጥር ይኽእል።
const date1 = ግዝያዊ.ጽሩይ ዕለትግዜ.ካብ ('2026-02-21T09:00:00'); const date2 = ግዝያዊ.ጽሩይ ዕለትግዜ.ካብ ('2026-02-22T10:30:00');
// largestUnit ዝውክል ዝዓበየ ኣሃዱ ግዜ ይገልጽ // ኣብ ስሌት ንውሓት ግዜ const diff = ዕለት2.since(ዕለት1, { ዝዓበየ ኣሃዱ: 'መዓልቲ' });
ኮንሶል.ሎግ (diff.days); // 1
console.log(diff.ሰዓታት)፤ // 1
console.log(ፍልልይ.ደቓይቕ)፤ // 30
ኮንሶል.ሎግ (diff.toString ()); // P1DT1H30M // (ISO 8601 ንውሓት ግዜ ሕብረ ቃላት: 1 መዓልቲ, 1 ሰዓት, 30 ደቓይቕ)
ዕለታትን ግዜታትን ምውድዳር ሞመንትን ቴምፖራልን ክልቲኦም ኣየናይ ቅድሚ እቲ ካልእ ከም ዝመጽእ ንምፍላጥ ዕለታትን ሰዓታትን ከተነጻጽር የኽእሉኻ፡ ምስ ኤፒኣይ ግን ዝተፈላለየ ኣገባባት ክትወስድ። Moment ንኽልተ Moment ነገራት ንምንጽጻር ከም isBefore, isAfter, isSame ዝኣመሰሉ ሜላታት ይህብ። const date1 = ህሞት ('2026-02-21T09:00:00'); const date2 = ህሞት ('2026-02-22T10:30:00');
console.log(ዕለት1.ቅድሚት እዩ(ዕለት2)); // ሓቂ እዩ።
ቴምፖራል ኣብ መንጎ ክልተ ሓደ ዓይነት ነገራት ምውድዳር ንምፍጻም ስታትቲክ ምውድዳር ሜላ ይጥቀም። እቲ ቀዳማይ ዕለት ቅድሚ እቲ ካልኣይ እንተመጺኡ -1፡ ማዕረ እንተኾይኖም 0፡ ወይ ድማ እቲ ቀዳማይ ዕለት ድሕሪ እቲ ካልኣይ እንተመጺኡ 1 ይመልስ። እዚ ዝስዕብ ኣብነት ክልተ PlainDate ነገራት ከመይ ጌርና ከም ነነጻጽሮም ዘርኢ እዩ። ክልቲኦም ሞጎተታት ናብ Temporal.PlainDate.compare PlainDate ነገራት ክኾኑ ኣለዎም።
const date1 = Temporal.PlainDate.from({ ዓመት: 2026, ወርሒ: 2, መዓልቲ: 24 }); const date2 = Temporal.PlainDate.from({ ዓመት: 2026, ወርሒ: 3, መዓልቲ: 24 });
// date1 ቅድሚ date2 ስለ ዝመጽእ -1 console.log(ግዝያዊ.PlainDate.compare(ዕለት1, ዕለት2));
// ክልተ ዝተፈላለየ ዓይነት ነገራት ከነነጻጽር እንተፈቲንና ጌጋ console.log(ግዝያዊ.PlainDate.compare(ዕለት1, ግዝያዊ.ሕጂ.ቅጽበታዊ())); // TypeError: ግዝያዊ ጌጋ: ዘይሕጋዊ PlainDate ዓውድታት ተዋሂቡ።
ብፍላይ እዚ ንሓደ ስርርዕ ናይ Temporal ነገራት ብመስርዕ ግዜ ንምስራዕ ቀሊል ይገብሮ። // ስርርዕ ናይ Temporal.PlainDate ነገራት const ዕለታት = [ ... ]፤
// Temporal.PlainDate.compare ከም መነጻጸሪ ተግባር ንጠቐም dates.sort(ግዝያዊ.ጽሩይ ዕለት.ኣነጻጽር);
ናይ ሰዓት ዞባ ምቕያር እቲ ቀንዲ ቤተ-መጻሕፍቲ ሞመንት ንናይ ሰዓት ዞባ ምቕያር ኣይድግፍን’ዩ። እዚ ተግባር እንተድኣ ኣድልዩካ፡ ነቲ moment-timezone package ውን ክትተክል ኣለካ። እዚ ፓኬጅ እዚ ብገረብ ዝንቀጥቀጥ ኣይኮነን፣ ስለዚ ድማ ኣብ ልዕሊ ዓቐን ጽንጽዋይካ ብዓቢኡ ክውስኽ ይኽእል። moment-timezone ምስ ተተኽለ፡ Moment objects ናብ ዝተፈላለየ time zones ብtz method ክትቅይሮም ትኽእል። ከምቲ ኣብ ካልኦት ስርሒታት ሞመንት ዝግበር፡ እዚ ነቲ መሰረታዊ ነገር ይቕይሮግኡዝ ነገር። // ናይ ኣሜሪካ ምብራቓዊ ሰዓት ጌርና const ሕጂ = ህሞት (); console.log(ሕጂ)፤ // ህሞት<2026-02-28T20:08:20-05:00>
// ናብ ግዜ ፓስፊክ ምቕያር። // እቲ መበቆላዊ ምብራቓዊ ግዜ ጠፊኡ። now.tz('ኣሜሪካ/ሎስ_ኣንጀለስ'); console.log(ሕጂ)፤ // ህሞት<2026-02-28T17:08:20-08:00>
ናይ ሰዓት ዞባ ተግባር ኣብ Temporal API ተሃኒጹ Temporal.ZonedDateTime ነገር ክንጥቀም ከለና እዩ። እዞም ነገራት እዚኦም ንሓደ ዓይነት ህሞት ኣብ ግዜ ዝውክል ሓድሽ ZonedDateTime ዝመልስ withTimeZone ሜላ ዘጠቓልሉ እዮም፣ ግን ከኣ ኣብቲ ዝተወሰነ ናይ ሰዓት ዞባ። // ሕጂ’ውን ናይ ኣመሪካ ምብራቓዊ ግዜ ብምግማት const now = ግዝያዊ.ሕጂ.ዞናዊ ዕለትግዜISO (); console.log (ሕጂ.ናብLocaleString ()); // 2/28/2026፡ ሰዓት 8፡12፡02 ድሕሪ ቀትሪ EST
// ናብ ግዜ ፓስፊክ ምቕያር const nowPacific = now.withTimeZone('ኣሜሪካ/ሎስ_ኣንጀለስ'); console.log (ሕጂ ፓሲፊክ.ናብከባቢ ሕብረ-ቁጽሪ ()); // 2/28/2026፡ ሰዓት 5፡12፡02 ድ.ቀ
// ኦሪጅናል ነገር ከም ዘይተቐየረ ይተርፍ console.log (ሕጂ.ናብLocaleString ()); // 2/28/2026፡ ሰዓት 8፡12፡02 ድሕሪ ቀትሪ EST
መተሓሳሰቢ፡ እቶም ብ toLocaleString ዝምለሱ ቅርጺ ዘለዎም ክብርታት፡ ከምቲ ስሙ ዝሕብሮ፡ ኣብ ከባቢ ዝምርኮሱ እዮም። እቲ ናሙና ኮድ ኣብ en-US locale እዩ ተዳልዩ፣ ስለዚ እቲ ቅርጺ ከምዚ እዩ: 2/28/2026, 5:12:02 PM PST. ኣብ ካልእ ከባቢ እዚ ፍልይ ዝበለ ክኸውን ይኽእል እዩ። ንኣብነት ኣብ en-GB locale ከም 28/2/2026, 17:12:02 GMT-8 ዝኣመሰለ ነገር ምረኸብካ። ናይ ሓቂ ዓለም ሪፋክተርንግ ኣብ መላእ ዞባታት ሰዓት ንዝፍጸሙ ፍጻመታት መደብ ንምግባር ዝሕግዝ ኣፕ ንሃንጽ ንበል። ሓደ ክፋል ናይዚ ኣፕ፡ getEventTimes ዝበሃል ፋንክሽን ኮይኑ፡ ንሰዓትን ዕለትን ናይቲ ፍጻመ፡ ንናይ ከባቢ ሰዓት ዞባን ዕላማ ዝኾነ ናይ ሰዓት ዞባን ዝውክል ISO 8601 ሕብረ-ቁጽሪ ይወስድ። እቲ ፋንክሽን ኣብ ክልቲኡ ዞባታት ሰዓት ንዝፍጸም ፍጻመ ቅርጺ ዘለዎም ናይ ሰዓትን ዕለትን ሕብረ-ቁጽሪ ይፈጥር። እቲ ፋንክሽን ቅኑዕ ናይ ሰዓት/ዕለት ሕብረ-ቁጽሪ ዘይኮነ ናይ ምእታው ሕብረ-ቁጽሪ እንተተዋሂብዎ፡ ጌጋ ክድርቢ’ዩ። ኣብዚ’ዩ እቲ መበቆላዊ ኣተገባብራ፣ ሞመንት ብምጥቃም (ናይ ሞመንት-ታይምዞን ፓኬጅ’ውን ምጥቃም የድሊ)።
ካብ 'ሞመንት-ታይምዞን' ሞመንት ምእታው፤
function getEventTimes(inputString, ዞባ ግዜ ተጠቃሚ, ዞባ ግዜ ዕላማ) { const timeFormat = 'MMM D, YYYY, h: ሚሜ:ss ሓደ z';
// 1. ኣብ ናይ ተጠቃሚ ሰዓት ዞባ ናይ መጀመርታ ህሞት ምፍጣር const eventTime = ህሞት.tz( inputString፣ moment.ISO_8601, // ISO 8601 ሕብረ ቃላት ትጽበ true, // ጽኑዕ ምትንታን እዩ። userTimeZone ዝበሃል ዞባ );
// እቲ inputString ቅኑዕ ዕለት እንተዘይወኪሉ ጌጋ ደርብዮ if (!ግዜ ፍጻመ.ቅኑዕ እዩ()) { throw new Error('ዘይሕጋዊ ምእታው ዕለት/ሰዓት'); }
// 2. ዕላማ ዝገበርካሉ ግዜ ኣስልጥ // CRITICAL: ክሎን ክንገብር ኣለና፣ እንተዘይኮይኑ 'eventTime' ንዘልኣለም ይቕየር! const targetTime = eventTime.clone().tz(ዕላማግዜዞን);
return { local: eventTime.format(ቅርጺ ግዜ)፣ ዕላማ: targetTime.format(ናይ ግዜፎርማት)፣ }፤ }
const መደብ = getEventTimes( '2026-03-05T15:00-05:00', 'ኣሜሪካ/ኒው_ዮርክ'፣ 'ኣውሮጳ/ለንደን'፡ );
console.log(መደብ.ከባብያዊ); // 5 መጋቢት 2026፡ ሰዓት 3፡00፡00 ድሕሪ ቀትሪ EST
console.log(መደብ.ዕላማ)፤ // 5 መጋቢት 2026፡ ሰዓት 8፡00፡00 ድ.ቀ
ኣብ’ዚ ኣብነት’ዚ፡ ትጽቢት ዝግበረሉ ቅርጺ ዕለት ISO 8601 ንጥቀም ኣለና፡ እዚ ድማ ብሓጋዚ መንገዲ ኣብ Moment ዝተሃንጸ’ዩ። ጽኑዕ ምትንታን’ውን ንጥቀም ኣለና፣ እዚ ማለት ሞመንት ምስቲ ቅርጺ ዘይሰማማዕ ናይ ዕለት ሕብረ ቃላት ክግምት ኣይፍትንን’ዩ። ዘይ-ISO ዕለት ሕብረ-ቁጽሪ እንተሓሊፉ፡ ውጽኢቱ ዘይሕጋዊ ዕለት ነገር ከስዕብ እዩ፡ ንሕና ድማ ጌጋ ንድርቢ። እቲ ግዝያዊ ኣተገባብራ ተመሳሳሊ ይመስል፡ ግን ውሑዳት ቁልፊ ፍልልያት ኣለዎ።
function getEventTimes(inputString, ዞባ ግዜ ተጠቃሚ, ዞባ ግዜ ዕላማ) { // 1. ነቲ እታው ብቐጥታ ናብ Instant ፓርስ ብምግባር ድሕሪኡ ንፍጠር // ኣብ ዞባ ተጠቃሚ ዝርከብ ZonedDateTime። const instant = ግዝያዊ.ቅጽበታዊ.ካብ (inputString); const eventTime = instant.toZonedDateTimeISO (ዞባ ግዜ ተጠቃሚ);
// 2. ናብቲ ዕላማ ዝኾነ ዞባ ምቕያር // እዚ ብኣውቶማቲክ NEW ነገር ይመልስ፤ 'eventTime' ውሑስ እዩ። const targetTime = eventTime.withTimeZone(ዕላማዞባ ግዜ);
// 3. Intl (ኣብ ውሽጢ ዝተሃንጸ) ብምጥቃም ፎርማት ምግባር const ኣማራጺታት = { ዓመት፡ 'ቁጽራዊ'፡ ወርሒ፡ 'ሓጺር'፡ መዓልቲ፡ 'ቁጽራዊ'፡ ሰዓት፡ 'ቁጽራዊ'፡ ደቒቕ፡ '2-ኣሃዝ'፡ ካልኣይ፡ '2-ኣሃዝ'፡ timeZoneName: 'ሓጺር'። }፤
return { local: eventTime.toLocaleString(ናቪጌተር.ቋንቋ, ኣማራጺታት), ዕላማ: targetTime.toLocaleString(ናቪጌተር.ቋንቋ, ኣማራጺታት) }፤ }
const መደብ = getEventTimes( '2026-03-05T15:00-05:00', 'ኣሜሪካ/ኒው_ዮርክ'፣ 'ኣውሮጳ/ለንደን'፡ );
console.log(መደብ.ከባብያዊ); // 5 መጋቢት 2026፡ ሰዓት 3፡00፡00 ድሕሪ ቀትሪ EST
console.log(መደብ.ዕላማ)፤ // 5 መጋቢት 2026፡ ሰዓት 8፡00፡00 ድ.ቀ
ምስ Moment፡ ንውጽኢት ናይ ዕለት ሕብረ-ቁጽሪ ብግልጺ ቅርጺ ሕብረ-ቁጽሪ ክንገልጽ ኣለና። እቲ ተጠቃሚ ዝርከበሉ ቦታ ወይ ከባቢ ብዘየገድስ፡ ናይ ፍጻመ ሰዓታት ኩሉ ግዜ ከም Mar 5, 2026, 3:00:00 ክቕረጽ እዩ።pm EST. ከምኡ’ውን ብግልጺ ፍሉይነት ክንድርቢ ኣየድልየናን’ዩ። ዘይሕጋዊ ሕብረ ቃላት ናብ Temporal.Instant.from እንተሓሊፉ፡ Temporal ነቲ ፍሉይ ክድርብየልና እዩ። ሓደ ክትፈልጦ ዘለካ ነገር እንተሃልዩ ዋላ ብጽኑዕ ፓርሲንግ እንተሃለወ እቲ ሞመንት ቨርዥን ገና ዝያዳ ልኡም እዩ። ግዝያዊ ኣብ መወዳእታ ናይቲ ሕብረ ቃላት ናይ ሰዓት ዞን ኦፍሴት ይሓትት። ብተወሳኺ’ውን navigator.language ስለ እንጥቀም፡ እዚ ኮድ’ዚ ኣብ ከባቢ መርበብ ሓበሬታ ጥራይ ከም ዝሰርሕ ከተስተውዕሉ ይግባእ፡ ምኽንያቱ navigator ኣብ Node.js ከባቢ ስለዘይግለጽ። እቲ Temporal ኣተገባብራ ናይቲ መርበብ ሓበሬታ ህሉው ሎካል (navigator.language) ይጥቀም፣ ስለዚ እቲ ተጠቃሚ ብኣውቶማቲክ ናይ ፍጻመ ግዜታት ብናይ ከባቢ ሰዓት ቅርጹ ክቕረጽ እዩ። ኣብ en-US locale እዚ Mar 5, 2026, 3:00:00 pm EST እዩ። እንተኾነ ግን እቲ ተጠቃሚ ኣብ ለንደን እንተኾይኑ ንኣብነት፡ ናይ ፍጻመ ሰዓታት 5 Mar 2026, 15:00:00 GMT-5 ተባሂሉ ክቕረጽ እዩ። ጽማቕ
ተግባር ሞመንት.ጀስ ግዝያዊ ህሉው ሰዓት ህሞት() ግዝያዊ.ሕጂ.ዞንዕለትግዜISO() ምትንታን ISO ህሞት(str) ግዝያዊ.ቅጽበታዊ.ካብ(str) ግዜ ወስኽ .add(7, 'መዓልታት') (ዝቕየር) .add({ መዓልታት: 7 }) (ሓድሽ ነገር) ፍልልይ .diff(ካልእ፡ 'ሰዓታት') .ካብ(ካልኦት).ሰዓታት ናይ ሰዓት ዞባ .tz('ዞባ/ስም') .withTimeZone('ዞባ/ስም')
ብመጀመርታ ርእይቶ፡ እቲ ፍልልይ ቁሩብ ዝተፈላለየ ክኸውን ይኽእል እዩ (ኣብ ጉዳይ Temporal ድማ፡ ሓደ ሓደ ግዜ ዝያዳ ቃላት ዝመልኦን ዝያዳ ጽኑዕን) ስነ-ቓል፡ እንተኾነ ግን Temporal ካብ Moment.js ምጥቃም ሓያሎ ቁልፊ ብልጫታት ኣለዉዎ፤
ዝያዳ ግሉጽ ምዃን ማለት ውሑድ ስግንጢርን ዘይተሓሰበ ብልሽትን ማለት እዩ። ህሞት ዝያዳ ልኡም ክመስል ይኽእል እዩ፣ እንተኾነ ግን “ግምት” ዘጠቓልል እዩ፣ እዚ ድማ ሓድሓደ ግዜ ዘይቅኑዕ ዕለታት ከስዕብ ይኽእል። Temporal ዘይሕጋዊ ነገር እንተሂብካዮ ጌጋ ይድርቢ። እቲ ኮድ እንተተኻይዱ፡ ቅኑዕ ዕለት ከም ዝረኸብካ ትፈልጥ። ሞመንት ኣብቲ ናይ’ቲ መተግበሪ ጽንጽዋይ ርኡይ ዓቐን ክውስኽ ይኽእል’ዩ፣ ብፍላይ ነቲ moment-timezone package ትጥቀም እንተኾንካ። Temporal ዋላ ሓንቲ ኣይውስኽን’ዩ (ሓንሳብ ኣብ ዕላማ ዝገበርካዮም ዳህሰስቲ ምስ ተላእከ)። ዘይምልዋጥ ዕለት ምቕያርን ስርሓትን ኣብ እትፍጽመሉ እዋን ዳታ ፈጺምካ ከምዘይትስእን ወይ ከምዘይትጽሕፎ ርእሰ-ምትእምማን ይህበካ። ዝተፈላለየ ውክልናታት ግዜ (Instant, PlainDateTime, ZonedDateTime) ከከም ድሌታትካ፣ ኣብዚ Moment ኩሉ ግዜ ኣብ ዙርያ ናይ UTC ናይ ግዜ ማሕተም መጠቕለሊ እዩ። Temporal ንዕለት ቅርጺ ምግባር Intl APIs ይጥቀም፣ እዚ ማለት ድማ ብግልጺ ቶከናት ከይገለጽካ ሎካል-ኣዋር ፎርማት ክህልወካ ይኽእል እዩ።
መተሓሳሰቢ ኣብ ፖሊፊል ከምቲ ኣቐዲሙ ዝተገልጸ፡ Temporal polyfill ዝበሃል ኣሎ፡ ከም npm package ዝዝርጋሕ @js-temporal/polyfill ዝበሃል። ሎሚ Temporal ክትጥቀም እንተደሊኻ፡ ከም Safari ዝኣመሰሉ ክሳብ ሕጂ API ዘይሰደዱ ዳህሰስቲ ንምድጋፍ እዚ polyfill ከድልየካ’ዩ። ምስዚ ዘሎ ሕማቕ ዜና ኣብ ልዕሊ ዓቐን ጽንጽዋይካ ክውስኽ እዩ። እቲ ጽቡቕ ዜና ሕጂ’ውን ካብ ሞመንት ወይ ሞመንት-ታይምዞን ብኣግባቡ ዝወሓደ ይውስኽ። ከምቲ ብ Bundlephobia.com ዝተጸብጸበ ንጽጽር ዓቐናት ጽንጽዋይ ኣብዚ ኣሎ፡ እዚ መርበብ ሓበሬታ ብዛዕባ ዓቐናት ዕሹግ npm ሓበሬታ ዘቕርብ (ንትንተና Bundlephobia ንምርኣይ ኣብ ነፍሲ ወከፍ ስም ፓኬጅ ጠውቑ)፤
ፓኬጅ ዝተቐነሰ Minified & gzipped ዝብል ጽሑፍ ኣሎ። @js-ግዝያዊ/ፖሊፊል 154.1 ኪሎ ባይት። 44.1 ኪሎ ባይት። ህሞት። 294.4 ኪሎ ባይት። 75.4 ኪሎ ባይት። ህሞት-ግዜ ዞባ 1 ሜባ 114.2 ኪሎ ባይት።
እቲ ፖሊፊል’ውን ብታሪኽ ኣብ ዙርያ ኣጠቓቕማ መዘክር ገለ ናይ ኣፈጻጽማ ጸገማት ነይርዎ’ዩ፡ እዚ ጽሑፍ’ዚ ኣብ ዝጸሓፈሉ እዋን ድማ፡ ኣብ ኣልፋ ኩነታት ከም ዘሎ’ዩ ዝቑጸር። በዚ ምኽንያት ድማ ኣብ ዝያዳ ብሱል ኩነታት ክሳብ ዝበጽሕ ኣብ ምፍራይ ክትጥቀመሉ ኣይትደልን ትኸውን። እቲ ካልእ ጽቡቕ ዜና ድማ እቲ ፖሊፊል ብዙሕ ግዜ ከየድሊ ተስፋ ንገብር (ብርግጽ ንኣረጊት ዳህሰስቲ ምድጋፍ እንተዘይኮይኑ)። እዚ ጽሑፍ ኣብ ዝጸሓፈሉ እዋን፡ ቴምፖራል ኣብ ክሮም፡ ኤጅን ፋየርፎክስን ሰዲዱ ኣሎ። ኣብ ሳፋሪ ገና ምሉእ ብምሉእ ድሉው ኣይኮነን፡ ዋላ’ኳ ኣብ’ቲ ዝሓለፈ ቴክኖሎጂ ቅድመ-ምርኢት ብናይ ምዝዋር ግዜ ባንዴራ ዝቐርብ እንተመሰለ።