3 Temmuz 2019 Çarşamba

OffsetDateTime Sınıfı - Moment With Offset From UTC

Giriş
Açıklaması şöyle.
The class OffsetDateTime class represents a moment as a date and time with a context of some number of hours-minutes-seconds ahead of, or behind, UTC. This number is represented by the ZoneOffset class.

If the number of hours-minutes-seconds is zero, an OffsetDateTime represents a moment in UTC the same as an Instant.
Açıklaması şöyle.
OffsetDateTime assumes a common offset for the entire year (ex. UTC+2). 
ZonedDateTime İle Farkı Nedir
Bu sınıfta ZonedDateTime sınıfından farklı olarak ZoneId bilgisi yoktur. Bu sınıf "Moment With Offset From UTC" olarak düşünülürken ZonedDateTime sınıfı "Moment With TimeZone" olarak düşünülebilir. Yani şöyledir
"20210223T234556Z",
"20210223T234556+08",
"2018-01-02T09:00",
ZonedDateTime ise şöyledir
"2007-12-03T10:15:30+01:00 Europe/Paris"
Offset Formatı Nasıldır?
+01:00, 
-05:00
.000Z
Z
olabilir

getHour metodu
int döner. Şöyle yaparız.
OffsetDateTime dt  = OffsetDateTime.parse("2018-01-02T09:00");
dt.getHour(); // 9
getOffset metodu
ZoneOffset döner. Şöyle yaparız.
OffsetDateTime dt  = OffsetDateTime.parse("2018-01-02T09:00-05:00");
dt.getOffset(); // ZoneOffset.of("-05:00")
of metodu
Şöyle yaparız.
LocalDateTime ldt = ...;
ZoneOffset zo = ...;

OffsetDateTime dt = OffsetDateTime.of(ldt, zo);
parse metodu - string
Örnek
Şöyle yaparız
OffsetDateTime offset = OffsetDateTime.parse("2022-02-01T20:32:00.000Z");
Örnek
Şöyle yaparız.
OffsetDateTime.parse("2018-01-02T09:00-05:00")
parse metodu - string + DateTimeFormatter 
Örnek
Şöyle yaparız.
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSx");
OffsetDateTime date = OffsetDateTime.parse("2016-04-11T22:56:00.000-0500", fmt);

Hiç yorum yok:

Yorum Gönder