Temporal PlainDate

ULASHISH

Temporal.PlainDate obyekti

Temporal.PlainDate obyekti vaqtsiz kalendar sanasini ifodalaydi.

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

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

PlainDate obyektini qanday yaratish

PlainDateTime obyekti bir necha xil usullarda yaratilishi mumkin:

NimadanKod
Constructor (new)new Temporal.PlainDate()
ISO String Temporal.PlainDate.from()
Now (current time)Temporal.Now.plainDateISO()

new yordamida PlainDate yaratish

Yangi konstruktor yordamida PlainDate obyektini yaratishingiz mumkin.

Konstruktor yil, oy va kun parametrlarini qabul qiladi.

Misol

// Create a PlainDate object
const date = new Temporal.PlainDate(2026, 5, 17);
O‘zingiz sinab ko‘ring »

The Temporal.PlainDate() method above:

  • Konstruktor chaqiruvidan foydalanadi
  • Expects numeric arguments (year, month, day).
  • 2026-05-17 kabi vaqtsiz kalendar sanasini qaytaradi.

Unlike JavaScript Date, Temporal months start at 1.


Stringdan PlainDate yaratish

PlainDate obyektini ISO 8601 / RFC 9557 stringidan yaratishingiz mumkin.

Misol

// Create a PlainDate object
const date = Temporal.PlainDate.from("2026-05-17");
O‘zingiz sinab ko‘ring »

Yuqoridagi misolda:

  • Kirish qiymati ISO 8601 qoidalari bo‘yicha tahlil qilinadi (parse)
  • ISO 8601 accepts strings like "2026-05-01"

Parsing means validation pluss automatic conversion.


Obyektdan PlainDate yaratish

Obyektdan PlainDate obyektini yaratishingiz mumkin.

Misol

// Create a PlainDate object
const date = Temporal.PlainDate.from({year:2026, month:5, day:1});
O‘zingiz sinab ko‘ring »

Yuqoridagi misoldan siz from() usuli obyekt literallarini ham, PlainDate obyektlarini ham qabul qilishi mumkin, deb hisoblashingiz mumkin.

Misol

// Create a PlainDate object
const d1 = Temporal.PlainDate.from({year:2026, month:5, day:1});

// Create another PlainDate object
const d2 = Temporal.PlainDate.from(d1);
O‘zingiz sinab ko‘ring »

Now’dan PlainDate obyektini yaratish

Temporal.Now obyektida joriy sanani olish usuli mavjud:

Misol

let today = Temporal.Now.plainDateISO();
O‘zingiz sinab ko‘ring »

Joriy sanani olish uchun Temporal.Now.plainDateISO() metodidan foydalaniladi.

U vaqt zonalari va vaqtni aynan hisobga olmagan holda ISO 8601 kalendaridagi (yil, oy, kun) qiymatlariga ega PlainDate obyektini qaytaradi.


Qaysisini qachon ishlatish kerak?

new Temporal.PlainDate()’dan quyidagi hollarda foydalaning:

  • Ishonchli sonli qiymatlaringiz bo‘lganda
  • Tezlik kerak bo‘lganda
  • Oldindan aytib bo‘ladigan yaratish usuli kerak bo‘lganda
  • Siz sana hisobini qilyapsiz

Use Temporal.PlainDate.from() when:

  • Siz foydalanuvchi ma’lumotlari (Stringlar) bilan ishlayapsiz
  • Siz tashqi ma’lumotlar bilan ishlayapsiz (JSON)
  • Maksimal moslashuvchanlik kerak bo‘lganda

Use Temporal.Now.plainDateISO() when:

  • Sizga joriy sana kerak

Kunlarni qo‘shish va ayirish

Vaqt qo‘shish uchun add() metodidan foydalaning.

Misol

let date = Temporal.PlainDate.from("2026-05-17");
let nextWeek = date.add({ days: 7 });
O‘zingiz sinab ko‘ring »

Vaqtni ayirish uchun subtract() metodidan foydalaning.

Misol

let date = Temporal.PlainDate.from("2026-05-17");
let previousWeek = date.subtract({ days: 7 });
O‘zingiz sinab ko‘ring »

Barcha vaqtinchalik obyektlar o‘zlarining add() usuliga ega:

  • duration.add(duration)
  • instant.add(duration)
  • plaindate.add(duration)
  • plaintime.add(duration)
  • plainyearmonth.add(duration)
  • plainmonthday.add(duration)
  • plaindatetime.add(duration)
  • zoneddatetime.add(duration)

Barcha vaqtinchalik obyektlar o‘zlarining subtract() usuliga ega:

  • duration.subtract(duration)
  • instant.subtract(duration)
  • plaindate.subtract(duration)
  • plaintime.subtract(duration)
  • plainyearmonth.subtract(duration)
  • plainmonthday.subtract(duration)
  • plaindatetime.subtract(duration)
  • zoneddatetime.subtract(duration)

Batafsil bilib oling:

JavaScript Temporal Arithmetic


Duration va sana arifmetikasi

JavaScript Date bilan ishlaganda vaqt farqlarini ko‘pincha millisekundlar yordamida qo‘lda hisoblashingiz kerak bo‘ladi.

Date misoli

const start = new Date("2026-05-01");
const end = new Date("2026-05-17");

let diff = end - start;
O‘zingiz sinab ko‘ring »
Temporal JavaScript Date usullaridan foydalanishga qaraganda aniqroq va xavfsizroq usullarni taqdim etadi.

JavaScript Temporal since() metodi

since() metodi ikki Temporal sanasi orasidagi davomiylikni hisoblaydi.

Sintaksis

t1.since(t2, options)

Meaning:

t1 vaqtida, t2 vaqtidan beri qancha vaqt o‘tdi?

Misol

const start = Temporal.PlainDate.from("2026-05-01");
const end = Temporal.PlainDate.from("2026-05-17");

const duration = end.since(start);
O‘zingiz sinab ko‘ring »

since() usuli Temporal.Duration obyektini qaytaradi o‘tgan vaqtni ifodalaydi.

Agar "boshqa" sana o‘tmishda bo‘lsa, davomiylik ijobiy hisoblanadi.

Agar "boshqa" sana kelajakda bo‘lsa, muddat salbiy hisoblanadi.


with() metodi

with() usuli yangi PlainDate obyektini yaratadi maxsus maydon bilan almashtiriladi.

Misol

// Create a PlainDate object
const date = Temporal.PlainDate.from("2026-05-17");

// Replace month and day
const customDate = date.with({ month:12, day:25 });
O‘zingiz sinab ko‘ring »


Sanalarni solishtirish

compare(date1, date2) usuli -1, 0 yoki 1 ni qaytaradi:

  • -1, agar date1 date2’dan oldin bo‘lsa
  • 0, agar ular teng bo‘lsa
  • 1, agar date1 date2’dan keyin bo‘lsa

Misol

// Create two Temporal objects
const date1 = Temporal.PlainDate.from("2026-02-17");
const date2 = Temporal.PlainDate.from("2026-03-01");

// Compare the dates
let result = Temporal.PlainDate.compare(date1, date2);
O‘zingiz sinab ko‘ring »

Ikki sananing bir xilligini tekshirish uchun equals() dan ham foydalanishingiz mumkin.

Misol

// Create two Temporal objects
const a = Temporal.PlainDate.from("2026-02-17");
const b = Temporal.PlainDate.from("2026-02-17");

// Compare the dates
let result = (a.equals(b));
O‘zingiz sinab ko‘ring »

Temporal.PlainDate xususiyatlari

Temporal.PlainDate obyekti kalendar sanasi ma’lumotlarining 16 ta xususiyatiga ega.

Misol

const time = new Temporal.PlainDate(2026, 5, 17);
O‘zingiz sinab ko‘ring »

Temporal kalendarlari

Temporal.PlainDate standart holatda ISO 8601 kalendaridan foydalanadi.

Agar siz aniq kalendarni xohlasangiz, taqvim parametrini qo‘shishingiz mumkin:

Misol

new Temporal.PlainDate(2026, 5, 17, "gregory")
O‘zingiz sinab ko‘ring »

from() usuli [u-ca=calendar] sintaksisi yoki kalendar yordamida kalendarlarni qo‘llab-quvvatlaydi obyektlardagi xususiyat.

Misollar

Temporal.PlainDate.from("2026-05-17[u-ca=chinese]")
O‘zingiz sinab ko‘ring »
Temporal.PlainDate.from({year:2026, month:5, day:17, calendar:"hebrew"})
O‘zingiz sinab ko‘ring »

Temporal obyektlari uchun yaroqli kalendar identifikatorlari (calendar_id):

  • iso8601 - Default ISO calendar
  • gregory - Gregorian calendar
  • buddhist - Buddhist calendar
  • Xitoy - Chinese calendar
  • coptic - Coptic calendar
  • dangi - Korean Dangi calendar
  • ethioaa - Ethiopic Amete Alem
  • ethiopic - Ethiopic calendar
  • Ibroniylig (yahudiy) - Hebrew calendar
  • indian - Indian (Saka) calendar
  • islamic - Islamic calendar
  • islamic-civil - Islamic civil calendar
  • islamic-rgsa - Islamic (Saudi Arabia)
  • islamic-tbla - Islamic tabular calendar
  • islamic-umalqura - Umm al-Qura calendar
  • Yapon - Japanese imperial calendar
  • persian - Persian (Solar Hijri) calendar
  • roc — Xitoy Respublikasi kalendari

Siz o‘zingizning muhitingizda qo‘llab-quvvatlanadigan qiymatlarni ro‘yxatlashingiz mumkin:

Misol

Intl.supportedValuesOf("calendar");
O‘zingiz sinab ko‘ring »

PlainDate’dan qachon foydalanish kerak

  • Any date without time

  • Birthdays

  • Deadlines

  • Holidays

  • Booking dates


Faqat sanadan iborat qiymatlar uchun Date o‘rniga

Date bilan har doim vaqt va vaqt zonasini ham olasiz.

Bu sizga faqat kalendar sanasi kerak bo‘lganda chalkashliklarni keltirib chiqarishi mumkin.

Date misoli

let d = new Date("2026-05-17");

PlainDate faqat yil, oy va kunni saqlash orqali buning oldini oladi.


Temporal.PlainDate metodlari

ConstructingTavsif
from()Obyekt yoki stringdan yangi PlainDate obyektini yaratadi
new(yil, oy, kun) qiymatlaridan yangi PlainDate obyektini yaratadi
Arithmetic
add()Davomiylik qo‘shilgan yangi PlainDate qaytaradi
subtract()Davomiylik ayirilgan yangi PlainDate qaytaradi
Taqqoslash
compare()Ikki sanani solishtirganda -1, 0 yoki 1 qaytaradi
equals()Ikki PlainDate obyekti bir xil bo‘lsa, true qaytaradi
since()Boshqa sanadan beri o‘tgan farqni qaytaradi
until()Farqni boshqa sanagacha qaytaradi
Converting
toPlainDateTime()Yangi PlainDateTime obyektini qaytaradi
toPlainMonthDay()Yangi PlainMonthDay obyektini qaytaradi
toPlainYearMonth()Yangi PlainYearMonth obyektini qaytaradi
toZonedDateTime()Yangi ZonedDateTime obyektini qaytaradi
with()Ko‘rsatilgan maydonlari o‘zgartirilgan yangi PlainDate qaytaradi
withCalendar()Boshqa kalendar tizimidagi yangi PlainDate qaytaradi
Formatlash
toJSON()JSON serializatsiyasi uchun RFC 9557 formatidagi stringni qaytaradi
toLocaleString()Sananing tilga sezgir tasvirini qaytaradi
toString()RFC 9557 formatidagi string ko‘rinishini qaytaradi
valueOf()TypeError ni chiqaradi (ibtidoiylarga aylantirilmasligi kerak)

Temporal.PlainDate xususiyatlari

XususiyatTavsif
calendarIDCalendar system identifier ("iso8601")
dayKun butun son sifatida (1-31)
dayOfWeekButun son sifatida haftaning kuni (1 = dushanba)
dayOfYearYilning tartibli kuni
daysInMonthO‘sha oydagi kunlarning umumiy soni
daysInWeekO‘sha haftadagi kunlarning umumiy soni
daysInYearO‘sha yildagi kunlarning umumiy soni
eraAgar mavjud bo‘lsa, kalendarning davr nomi
eraYearEra ichidagi yil (agar mavjud bo‘lsa)
inLeapYearYil kabisa yili ekanligini ko‘rsatuvchi mantiqiy qiymat
monthOy butun son sifatida (1-12)
monthCodeOy uchun string ko‘rinishidagi kod ("M01")
monthsInYearO‘sha yildagi oylarning umumiy soni
weekOfYearYil ichidagi hafta raqami
YilYil butun son sifatida
yearOfWeekHafta tegishli yil

Barcha xususiyatlarni ko‘rsatish

const date = new Temporal.PlainDate(2026, 5, 17);
O‘zingiz sinab ko‘ring »
PlainDate obyekti asosan Temporal.PlainDateTime obyektining sana qismi bo‘lib, vaqt haqidagi ma’lumot olib tashlangan.

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!