Junior
Mis on ZonedDateTime?
sobes.tech AI
Vastus AI-lt
ZonedDateTime on java.time paketist pärit klass, mis esindab kuupäeva ja aega õige nihkega UTC* ja sellega seotud ajavööndiga. See arvestab suveaja ja teiste konkreetse ajavööndi eripäradega.
Erinevalt OffsetDateTime-st, mis salvestab ainult nihke UTC-st, salvestab ZonedDateTime viite ZoneId objekti, mis esindab ajavööndit, võimaldades õigesti teha ajaarvutusi, arvestades aastaaegade muutusi.
Peamised omadused:
- Kombinatsioon: ühendab kuupäeva, kellaaja ja ajavööndi.
- Täpsus: arvestab suveaja (DST) ja muid muutusi ajavööndis.
- Muudetamatu:
ZonedDateTimeobjektid on muutumatud, nagu ka teisedjava.timeklassid.
Näide:
// Loo `ZonedDateTime` kindla aja ja ajavööndi jaoks
ZonedDateTime dateTimeInLondon = ZonedDateTime.of(2023, 10, 26, 10, 30, 0, 0, ZoneId.of("Europe/London"));
System.out.println(dateTimeInLondon);
// Saavuta praegune `ZonedDateTime` süsteemivööndis
ZonedDateTime now = ZonedDateTime.now();
System.out.println(now);
Rakendus:
- Sündmuste esitamine, mis on seotud konkreetse kohaga ja ajaga (näiteks kontserdi algus teatud linnas).
- Arvutused erinevate ajavööndite vahel, arvestades DST reegleid.
- Töötamine välissüsteemide või andmebaasidega, mis nõuavad ajavööndi määramist.
Võrdlus teiste klassidega:
| Klass | Kuupäev | Aeg | Nihke UTC-st | Ajavöönd | Arvestab DST |
|---|---|---|---|---|---|
LocalDateTime |
Jah | Jah | Ei | Ei | Ei |
OffsetDateTime |
Jah | Jah | Jah | Ei | Osaliselt |
ZonedDateTime |
Jah | Jah | Jah | Jah | Jah |