Sobes.tech
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: ZonedDateTime objektid on muutumatud, nagu ka teised java.time klassid.

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