Skip to content

JavaScript Temporal.ZonedDateTime

Temporal.ZonedDateTime obyekti vaqt zonasi ma'lumotlari bilan birga ham sana, ham vaqtni ifodalaydi.

Bu xalqaro loyihalar, vaqt zonalarini o'zgartirish va qishki/yozgi vaqtni (DST) aniq hisoblash uchun eng xavfsiz va ishonchli usuldir.


Nega ZonedDateTime muhim?

Eski Date obyekti bilan ishlashda vaqt zonalari va DST (Daylight Saving Time) ko'pincha xatolarga sabab bo'ladi. ZonedDateTime esa har doim sana va vaqtga ma'lum bir vaqt zonasini biriktirib saqlaydi, bu esa hisob-kitoblarni aniq qiladi.


ZonedDateTime yaratish

Ushbu obyektni vaqt zonasi ko'rsatilgan matndan yaratish mumkin. Vaqt zonasi nomi to'rtburchak qavslar ichida yoziladi:

Misol

js
const zdt = Temporal.ZonedDateTime.from("2026-02-17T14:30:00+01:00[Europe/Oslo]");

Hozirgi sana va vaqt (Vaqt zonasi bilan)

Tizimingizdagi vaqt zonasi bilan hozirgi vaqtni olish uchun:

js
const hozir = Temporal.Now.zonedDateTimeISO();

Vaqt Zonalarini O'zgartirish (Conversion)

Bir vaqt zonasidagi ma'lumotni boshqasiga o'tkazish juda oson:

js
const oslo = Temporal.ZonedDateTime.from("2026-02-17T14:30:00+01:00[Europe/Oslo]");

const newYork = oslo.withTimeZone("America/New_York");

Lahza (exact moment) o'zgarmaydi, lekin mahalliy soat o'sha zonaga qarab moslashadi.


Vaqtni Xavfsiz Qo'shish (DST Safe)

Date obyekti bilan vaqt qo'shganda, agar o'sha kuni soatlar o'zgartirilsa (DST), natija 1 soatga adashishi mumkin. ZonedDateTime buni avtomatik tarzda to'g'ri hal qiladi:

js
const boshlanish = Temporal.ZonedDateTime.from("2026-03-29T00:00:00+01:00[Europe/Oslo]");
const keyingiKun = boshlanish.add({ days: 1 }); // DST o'zgarishini hisobga oladi

Qachon ZonedDateTime-dan foydalanish kerak?

  • Xalqaro miqyosdagi ilovalar va saytlar uchun.
  • Bron qilish va rejalashtirish tizimlari (masalan, mehmonxonalar).
  • Parvozlar va sayohat jadvallari uchun.
  • DST (qishki/yozgi vaqt) o'zgarishlarini aniq hisoblash shart bo'lganda.

ZonedDateTime vs PlainDateTime

TuringizVaqt zonasi bormi?Qachon ishlatiladi?
PlainDateTimeYo'qMahalliy, oddiy tartiblar uchun
ZonedDateTimeHaXalqaro va aqlli tizimlar uchun

Xulosa

Temporal.ZonedDateTime — vaqt va sanalar bilan ishlashdagi eng mukammal va xavfsiz obyekt turi bo'lib, u barcha murakkab vaqt zonasi muammolarini o'z zimmasiga oladi.