Junior
ZonedDateTime nədir?
sobes.tech Süni İntellekt
AI-dan cavab
ZonedDateTime — java.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:
ZonedDateTimeobyektləri dəyişməzdir, digərjava.timesiniflə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 |