Sobes.tech
Junior

ZonedDateTime nədir?

sobes.tech Süni İntellekt

AI-dan cavab

ZonedDateTimejava.time paketindən gələn və UTC* və ona bağlı vaxt zonası ilə təmsil olunan sinifdir. Bu, yay vaxtına keçid və digər zonaya xas xüsusiyyətləri nəzərə alır.

OffsetDateTime-dən fərqli olaraq, yalnız UTC-dən olan uzaqlığı saxlayır, ZonedDateTime isə ZoneId obyektinə istinad edir, bu da vaxt zonası ilə düzgün hesablamalar aparmağa imkan verir və ilin müxtəlif vaxtlarında vaxt dəyişikliklərini nəzərə alır.

Əsas xüsusiyyətlər:

  • Birlikdə: Tarix, vaxt və vaxt zonasını birləşdirir.
  • Dəqiqlik: Yay vaxtına keçid (DST) və digər dəyişiklikləri nəzərə alır.
  • Dəyişməz: ZonedDateTime obyektləri dəyişməzdir, digər java.time sinifləri kimi.

Yaradıcılıq nümunəsi:

// Müəyyən bir vaxt və zonada `ZonedDateTime` yaratmaq
ZonedDateTime dateTimeInLondon = ZonedDateTime.of(2023, 10, 26, 10, 30, 0, 0, ZoneId.of("Europe/London"));
System.out.println(dateTimeInLondon);

// Sistem zonasında hazırkı `ZonedDateTime` əldə etmək
ZonedDateTime now = ZonedDateTime.now();
System.out.println(now);

Tətbiqlər:

  • Konkret bir yer və vaxt ilə əlaqəli hadisələri təmsil etmək (məsələn, konsertin başlanğıc vaxtı).
  • Fərqli vaxt zonalarında vaxt nöqtələri arasında hesablamalar aparmaq, DST qaydalarını nəzərə alaraq.
  • Xarici sistemlər və ya verilənlər bazaları ilə işləmək, vaxt zonasını göstərmək tələb olunduqda.

Digər siniflərlə müqayisə:

Sinif Tarix Vaxt UTC-dən fərq Vaxt zonası DST-ni nəzərə alır
LocalDateTime Bəli Bəli Yox Yox Yox
OffsetDateTime Bəli Bəli Bəli Yox Qismən
ZonedDateTime Bəli Bəli Bəli Bəli Bəli