JS Temporal

ULASHISH

JavaScript Temporal nima?

Temporal - bu JavaScript-da sana va vaqt uchun yangi standart.

Yangi Vaqtinchalik obyektlar eski Date obyektini almashtirish uchun mo‘ljallangan.

Eski sanadan farqli o‘laroq, Vaqtinchalik obyektlar o‘zgarmasdir va vaqt mintaqalari, yozgi vaqt, sana arifmetik va Grigorian bo‘lmagan kalendarlar uchun birinchi darajali yordam beradi.

Temporal Map

Temporal JavaScript 2026 tarkibidami?

Temporal 2026-yil iyulida TC39’ning 4-bosqichiga yetdi.

4-bosqich funksiya tugallanganligini va keyingi nashrga kiritilishini bildiradi. Muhim vaqt tafsiloti shundaki, ECMAScript 2026 allaqachon kesilgan va unda Temporal mavjud emas edi.

Xulosa: Temporal JavaScript 2026 emas, JavaScript 2027 tarkibiga kiradi.

Bu biroz chalkash bo‘lishi mumkin, chunki u 2026 yilda 4-bosqichga aylandi va brauzerlar ES2026 chiqarilishidan ancha oldin Temporal-ni joriy qilishni boshladilar.


Brauzerlarda qo‘llab-quvvatlash

Temporal - bu JavaScript standartining asosiy yangilanishi.

Hozirda u Chrome, Edge, Firefox va Opera-da qo‘llab-quvvatlanadi va 2027 yilgacha barcha brauzerlarda to‘liq foydalanish mumkin bo‘lishi kutilmoqda.

Chrome
144
Edge
144
Firefox
139
Safari
Opera
128
Jan 2026 Jan 2026 May 2025 🚫 Feb 2026

Safari ilovasi --use-temporal ish vaqti bayrog‘ini yoqish orqali Safari Technology Preview-da sinovdan o‘tkazilishi mumkin.

Polyfill

Safari Temporal-ni mahalliy ravishda qo‘llab-quvvatlamaguncha, siz rasmiy polifilldan foydalanishingiz mumkin:

<script
src="https://cdn.jsdelivr.net/npm/@js-temporal/polyfill/dist/index.umd.js">
</script>

Temporal’ni o‘rganish yo‘li

JavaScript Temporal’ni to‘g‘ri tartibda o‘rganing.


Temporal va Date

JavaScript vaqtinchalik va JavaScript sanasini solishtiring.

Sana va vaqtinchalik o‘rtasidagi farqlarni bilib oling

  • Date’da oylar 0 dan, Temporal’da esa 1 dan boshlanadi
  • Sana arifmetikasi qo‘lda, Temporal o‘rnatilgan
  • Sana qiymatlarni o‘zgartiradi, vaqtinchalik emas
  • Sana UTC va vaqt mintaqalarini aralashtiradi, Temporal ularni ajratadi
  • Sana matematikasi DST bilan ishlashda muvaffaqiyatsiz bo‘lishi mumkin, vaqtinchalik bo‘lishi mumkin emas

Nima uchun Temporal sanaga zamonaviy muqobil ekanligini bilib oling.

Batafsil o‘rganish ...


Temporal.Duration

Temporal.Duration obyekti vaqt davomiyligini ifodalaydi.

Misol: 7 days and 1 hour.

Temporal.Duration obyekti quyidagi xususiyatlarni o‘z ichiga oladi:

years, months, weeks, days, hours, minutes, seconds, milliseconds, and nanoseconds.

Duration obyekti eski JavaScript Date obyektiga xos xatolar va murakkabliklarsiz aniq sana va vaqt arifmetikasini (masalan, qo‘shish va ayirish) bajarish uchun ishlatiladi.

Siz nimani o‘rganasiz:

  • JavaScript Temporal.Duration’dan qanday foydalanish
  • Vaqt uzunligini qanday ifodalash va hisoblash mumkin
  • Qanday qilib kunlar, soatlar va oylarni xavfsizroq qo‘shish va ayirish mumkin

Batafsil o‘rganish ...


Temporal.Instant

Temporal.Instant obyekti UTC vaqtidagi aniq momentni ifodalaydi.

Unda vaqt mintaqasi va kalendar YO‘Q.

U 1970-yil 1-yanvar 00:00:00’dan beri o‘tgan nanosekundlarni saqlaydi (Unix epoxasi).

Misol: 2026-05-17T14:30:00Z

Siz nimani o‘rganasiz:

  • Vaqtning aniq daqiqalari bilan qanday ishlash kerak
  • Instant’larni qanday solishtirish
  • Vaqt belgilaridan qanday aylantirish mumkin
  • Date.now() ni qanday almashtirish kerak

Batafsil o‘rganish ...


Temporal.PlainDateTime

Temporal.PlainDateTime obyekti sof sana va vaqt obyektidir.

Bu taqvim sanasi va vaqt zonasisiz devor soati vaqtini bildiradi.

Misol: 2026-05-07T14:30:00.

Siz nimani o‘rganasiz:

  • JavaScript Temporal.PlainDateTime’ni qanday yaratish
  • Vaqt mintaqasisiz sana va vaqt bilan qanday ishlash kerak
  • Sanalarni qanday qo‘shish va ayirish mumkin
  • Sanalarni xavfsiz tarzda qanday solishtirish

Batafsil o‘rganish ...


Temporal.PlainDate

Temporal.PlainDate obyekti vaqtsiz kalendar sanasini ifodalaydi.

Temporal.PlainDate odatda ISO 8601 formatida bo‘ladi (2026-05-01).

Tug‘ilgan kunlar yoki bayramlar kabi vaqt mintaqasidan qat’iy nazar bir xil sanalar uchun DateTime obyektlaridan foydalanish osonroq va solishtirish xavfsizroq.

Siz nimani o‘rganasiz:

  • JavaScript Temporal.PlainDate’ni qanday yaratish
  • Vaqtsiz sanalar bilan qanday ishlash kerak
  • PlainDates qanday qo‘shiladi va ayiriladi
  • Sanalarni xavfsiz tarzda qanday solishtirish

Batafsil o‘rganish ...



Temporal.PlainYearMonth

Temporal.PlainMontDay

Temporal.PlainMonthDay Object

Temporal.PlainMonthDay() obyekti — oy va kunni ifodalovchi obyekt.

U ISO 8601 taqvimining oy va kunini bir yil yoki vaqtsiz ifodalaydi.

Misol: 05-17.

Batafsil o‘rganish ...

Temporal.PlainTime

Temporal.PlainTime obyekti — sanasiz vaqt obyekti.

U ISO 8601 devor soati vaqtini sana yoki vaqt zonasisiz ifodalaydi.

Misol: 10:30:00.

Bu ish soatlari, signallar va har qanday faqat vaqt qiymatlari uchun foydalidir.

Batafsil o‘rganish ...


Temporal.ZonedDateTime

Temporal.ZonedDateTime obyekti vaqt mintaqasi bilan sana va vaqtni ifodalaydi.

Bu xalqaro sana va vaqt hisoblarini boshqarishning eng xavfsiz usuli.

Bu keng tarqalgan DST xatolarining oldini oladi va vaqt mintaqasini o‘zgartirishni aniq va bashoratli qiladi.

Siz nimani o‘rganasiz:

  • JavaScript Temporal.ZonedDateTime’ni qanday yaratish
  • Vaqt zonalari bilan qanday to‘g‘ri ishlash
  • ZonedDateTimes qanday qo‘shiladi va ayiriladi
  • DST (yozgi vaqt) bilan bog‘liq xatolardan qanday qochish
  • Vaqt zonalari o‘rtasida xavfsiz tarzda qanday o‘girish

Batafsil o‘rganish ...


Temporal.Now

Temporal.Now Object tizimning sanasi va vaqtini olishning 5 ta usulini taqdim etadi.

Har bir sana obyekti uchun bitta metod:

  • Temporal.Now.instant()
  • Temporal.Now.plainDateISO()
  • Temporal.Now.plainTimeISO()
  • Temporal.Now.plainDateTimeISO()
  • Temporal.Now.zonedDateTimeISO()

Batafsil o‘rganish ...


Temporal arifmetikasi

Temporal oson va ishonchli sana va vaqt arifmetikasi usullarini taqdim etadi.

Asl nusxani o‘zgartirmasdan kunlar, oylar, yillar va vaqtlarni qo‘shing va ayiring.

Perform date arithmetic without DST bugs and Time Zone problems.

Batafsil o‘rganish ...


Temporal since / until

Temporal yordamida farqlarni hisoblash

since() metodi ikki sana orasidagi since (…dan beri) davomiylikni hisoblaydi.

until() metodi ikki sana orasidagi until (…gacha) davomiylikni hisoblaydi.

since() va until() amalda bir-biriga teskari.

Batafsil o‘rganish ...


Temporal’da taqqoslash

Sanalarni taqqoslash

JavaScript’da <, >, == yoki === kabi operatorlar yordamida obyektlarni solishtirib bo‘lmaydi.

Standart tenglik operatorlari o‘rniga har doim equals() yoki compare() metodlaridan foydalaning.

Batafsil o‘rganish ...


Temporal konvertatsiya qoidalari

Quyidagi jadvalda Temporal turlarni qanday aylantirish mumkinligi ko‘rsatilgan:

Nimadan Plain
Sana
Plain
Time
Plain
DateTime
Zoned
DateTime
Instant
PlainDate Yo‘q Ha Yo‘q Yo‘q
PlainTime Yo‘q Yo‘q Yo‘q Yo‘q
PlainDateTime Ha Ha Ha Yo‘q
ZonedDateTime Ha Ha Ha Ha
Instant Yo‘q Yo‘q Yo‘q Ha

Batafsil o‘rganish ...


Temporal formatlari

Temporal sanalarini turli usullarda string ko‘rinishiga serializatsiya qilish mumkin:

MetodTavsif
toString()RFC 9557 / ISO 8601 formatidagi sana stringiga.
toLocaleString()"en-US" kabi tilga moslashgan stringga.
Intl.DateTimeFormat()Chiqish ustidan ko‘proq nazorat kerak bo‘lganda.

Batafsil o‘rganish ...


Temporal standartlari

Bu siz bilishingiz kerak bo‘lgan vaqtinchalik standartlar:

NomiTavsif
ISO 8601International standard
RFC 3339Internet standard
RFC 9557Temporal standard

Batafsil o‘rganish ...

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!