Sobes.tech
Junior

ZonedDateTime nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

ZonedDateTimejava.time paketinden gelen ve UTC* ve ona bağlı zaman dilimi ile temsil edilen bir sınıftır. Yaz saati uygulaması ve diğer bölgesel özellikleri dikkate alır.

OffsetDateTime'den farklı olarak, yalnızca UTC'den olan uzaklığı saklar, ZonedDateTime ise bir ZoneId nesnesine referans tutar, bu da zaman dilimini temsil eder ve yıl boyunca zaman değişikliklerini dikkate alarak hesaplamalar yapmaya olanak tanır.

Ana özellikler:

  • Birleştirme: Tarih, saat ve zaman dilimini bir araya getirir.
  • Kesinlik: Yaz saati uygulaması ve bölgesel değişiklikleri dikkate alır.
  • Değişmezlik: ZonedDateTime nesneleri değiştirilemez, diğer java.time sınıfları gibi.

Oluşturma örneği:

// Belirli bir zaman diliminde belirli bir zamanda ZonedDateTime oluşturma
ZonedDateTime dateTimeInLondon = ZonedDateTime.of(2023, 10, 26, 10, 30, 0, 0, ZoneId.of("Europe/London"));
System.out.println(dateTimeInLondon);

// Sistem zaman diliminde şu anki ZonedDateTime
ZonedDateTime now = ZonedDateTime.now();
System.out.println(now);

Kullanım alanları:

  • Belirli bir yer ve zamanla bağlantılı olayları temsil etme (örneğin, belirli bir şehirdeki konser başlangıç zamanı).
  • Farklı zaman dilimlerindeki zaman noktaları arasında hesaplamalar yapma, DST kurallarını dikkate alarak.
  • Dış sistemler veya veritabanlarıyla çalışma, zaman dilimi belirtmeyi gerektirir.

Diğer sınıflarla karşılaştırma:

Sınıf Tarih Saat UTC'den uzaklık Zaman dilimi DST dikkate alır
LocalDateTime Evet Evet Hayır Hayır Hayır
OffsetDateTime Evet Evet Evet Hayır Kısmen
ZonedDateTime Evet Evet Evet Evet Evet