Barchasi (ma’lumotnoma) Yangi
JavaScript Temporal ma’lumotnomasi
Temporal obyektlari — eski JavaScript Date obyektini almashtirishga mo‘ljallangan JavaScript Temporal APIning asosiy qismi.
JavaScript Temporal sanalari siz uchun yangimi?
Temporal obyektlari
2026-yil martida qayta ko‘rib chiqilgan
| Object | Tavsif |
|---|---|
| Temporal.Duration | Vaqt davomiyligi (kunlar, soatlar, daqiqalar) |
| Temporal.Now | Joriy vaqt (UTC vaqt tamg‘asi) |
| Temporal.Instant | Vaqt mintaqasiga bog‘liq bo‘lmagan, vaqtdagi aniq nuqta (UTC) |
| Temporal.ZonedDateTime | Muayyan vaqt mintaqasidagi sana va vaqt |
| Oddiy sanalar (Plain Dates) | |
| Temporal.PlainDate | Faqat taqvim sanasi (2026-05-21) |
| Temporal.PlainTime | Faqat kun vaqti (14:30:00) |
| Temporal.PlainDateTime | To‘liq sana va vaqt (2026-01-24 14:30:00) |
| Temporal.PlainYearMonth | Faqat yil va oy (2026-05) |
| Temporal.PlainMonthDay | Faqat oy va kun (05-01) |
Eslatma
Barcha Temporal obyektlari o‘zgarmas (immutable).
Bu vaqt qiymatlarining tasodifan o‘zgartirilishi bilan bog‘liq xatolarning oldini oladi.
Temporal.Duration obyekti
Temporal.Duration obyekti 7 kun va 1 soat kabi vaqt davomiyligini ifodalaydi.
Temporal.Duration obyekti sana arifmetikasini qo‘lda millisekundlarni hisoblashga qaraganda aniqroq, o‘qilishi osonroq va xavfsizroq qiladi.
Temporal.Duration xususiyatlari
Temporal.Duration obyekti vaqt haqidagi ma’lumotlarni saqlovchi 12 ta xususiyatga ega.
Temporal.Now
Temporal.Now obyekti joriy vaqtni turli formatlarda olish uchun metodlarga ega.
Joriy tizim vaqti uchun Temporal.Now.zonedDateTimeISO() metodidan foydalaning:
Faqat taqvim sanasi uchun Temporal.Now.plainDateISO() metodidan foydalaning:
Batafsil:
Temporal.Instant obyekti
Temporal.Instant obyekti vaqtdagi yagona nuqtani ifodalaydi.
Temporal.Instantning vaqt mintaqasi ham, taqvimi ham yo‘q.
Temporal.Instant Unix davri (epoch) boshlanishidan — 1970-yil 1-yanvar 00:00:00 dan beri o‘tgan nanosekundlar sonini saqlaydi
Eslatma
Nanosekund aniqligi eski Date obyektining millisekund aniqligidan 1000 marta yuqori.
Temporal.ZonedDateTime
Temporal.ZonedDateTime — vaqt mintaqasi va taqvimni hisobga oladigan sana/vaqt obyekti bo‘lib, Yerdagi muayyan hudud nuqtai nazaridan real vaqtdagi hodisani ifodalaydi.
Misol: 1995-yil 7-dekabr, AQSh Tinch okeani vaqti bo‘yicha soat 3:24 AM (Grigorian taqvimida).
Misol
const zonedDate = Temporal.ZonedDateTime.from({
timeZone: 'America/Los_Angeles',
year: 1995,
month: 12,
day: 7,
hour: 3,
minute: 24,
second: 30,
millisecond: 0,
microsecond: 3,
nanosecond: 500
});
O‘zingiz sinab ko‘ring »
Temporal.ZonedDateTime obyekti vaqt mintaqasi, yozgi vaqtga (DST) chidamli arifmetika va RFC 5545 taqvimi bilan o‘zaro ishlash talab qilinadigan holatlar uchun optimallashtirilgan.
Temporal Plain obyektlari
| Object | Tavsif |
|---|---|
| Temporal.PlainDate | Faqat taqvim sanasi (2026-05-21) |
| Temporal.PlainTime | Faqat kun vaqti (14:30:00) |
| Temporal.PlainMonthDay | Faqat oy va kun (05-01) |
| Temporal.PlainYearMonth | Faqat yil va oy (2026-05) |
Temporal.PlainDate obyekti
Temporal.PlainDate obyekti muayyan vaqt mintaqasiga bog‘lanmagan taqvim sanasini (yil, oy va kun) ifodalaydi, odatda ISO 8601 formatida ("2026-05-01").
U vaqt mintaqasidan qat’i nazar bir xil qoladigan sanalar, masalan, tug‘ilgan kunlar yoki bayramlar uchun ishlatiladi.
Temporal.PlainDate xususiyatlari
Temporal.PlainDate obyekti taqvim sanasi haqidagi ma’lumotlarni saqlovchi 16 ta xususiyatga ega.
Temporal.PlainYearMonth obyekti
Temporal.PlainYearMonth taqvim sanasi haqidagi ma’lumotlarni saqlovchi 10 ta xususiyatga ega.
| Xususiyat | Tavsif |
| calendarID | Taqvim tizimi identifikatori ("iso8601") |
| daysInMonth | Shu oydagi kunlarning umumiy soni |
| daysInYear | Shu yildagi kunlarning umumiy soni |
| era | Agar mavjud bo‘lsa, taqvim erasining nomi ("gregory") |
| eraYear | Agar mavjud bo‘lsa, era ichidagi yil |
| inLeapYear | Sana kabisa yiliga to‘g‘ri kelish-kelmasligini bildiruvchi boolean qiymat |
| month | Oy butun son sifatida (1-12) |
| monthCode | Oy uchun taqvimga xos string kodi ("M01") |
| monthsInYear | Shu yildagi oylarning umumiy soni |
| year | Yil butun son sifatida |
Temporal.PlainMonthDay obyekti
Temporal.PlainMonthDay taqvim sanasi haqidagi ma’lumotlarni saqlovchi 3 ta xususiyatga ega.
| Xususiyat | Tavsif |
| calendarID | Taqvim tizimi identifikatori ("iso8601") |
| day | Kun butun son sifatida (1-31) |
| monthCode | Oy uchun taqvimga xos string kodi ("M01") |
Eslatma
Temporal.PlainMonthDay obyektida month xususiyati yo‘q.
Temporal.PlainTime obyekti
Temporal PlainTime obyekti — sanasiz vaqt obyekti.
U sana yoki vaqt mintaqasisiz ISO 8601 devor soati vaqtini (wall-clock time) ifodalaydi.
Misol: 14:30:00.
Temporal.PlainTime xususiyatlari
Temporal.PlainTime obyekti vaqt haqidagi ma’lumotlarni saqlovchi 6 ta xususiyatga ega.
Temporal.PlainDateTime obyekti
Temporal.PlainDateTime obyekti — sana va vaqt obyekti.
U vaqt mintaqasisiz taqvim sanasi va devor soati vaqtini ifodalaydi.
Misol: 2026-05-07T14:30:00.
Eslatma
PlainDateTime mohiyatan Temporal.PlainDate() va Temporal.PlainTime() ning birikmasidir.
Temporal.PlainDateTime xususiyatlari
Temporal.PlainDateTime obyekti taqvim sanasi haqidagi ma’lumotlarni saqlovchi 22 ta xususiyatga ega.
Temporal arifmetikasi
| Metod | Qaytaradi |
|---|---|
| temporal.add() | Sanani davomiylik qadar oldinga surilgan holda ifodalovchi yangi temporal obyekt |
| temporal.subtract() | Sanani davomiylik qadar orqaga surilgan holda ifodalovchi yangi temporal obyekt |
| temporal.round() | Belgilangan birlikkacha pastga yaxlitlangan yangi temporal obyekt |
Temporal taqqoslash
| Metod | Tavsif |
|---|---|
| temporal.compare() | Sanalar massivlarini saralash uchun foydali statik metod (-1, 0 yoki 1 qaytaradi) |
| temporal.equals() | Agar ikki sana (va ularning taqvimlari) bir xil bo‘lsa, true qaytaradi |
| temporal.since() | Ikki temporal obyekt orasidagi davomiylik |
| temporal.until() | Ikki temporal obyekt orasidagi davomiylik |
Batafsil:
Brauzerlarda qo‘llab-quvvatlash
Temporal — JavaScript standartining (TC39) yirik yangilanishi.
Hozirda u Chrome, Edge, Firefox va Opera’da qo‘llab-quvvatlanadi va 2026-yil yozigacha barcha brauzerlarda to‘liq mavjud bo‘lishi kutilmoqda.
| Chrome 144 |
Edge 144 |
Firefox 139 |
Safari |
Opera 128 |
| 2026-yil yanvar | 2026-yil yanvar | 2025-yil may | 🚫 | 2026-yil fevral |
Safari realizatsiyasini Safari Technology Preview’da --use-temporal runtime flagini yoqish orqali sinab ko‘rish mumkin.
Polyfill
Safari Temporal’ni o‘zida (native) qo‘llab-quvvatlamaguncha rasmiy polyfill’dan foydalanishingiz mumkin:
<script
src="https://cdn.jsdelivr.net/npm/@js-temporal/polyfill/dist/index.umd.js">
</script>
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
