15 Mart 2023 Çarşamba

java.time API Çevrimler

1. Kaynak Calendar İse
Örnek
Şöyle yaparız.
Calendar cal = Calendar.getInstance();
Instant instance = cal.toInstant();
Örnek
Şöyle yaparız.
Calendar cal = Calendar.getInstance();
LocalDateTime ldt = LocalDateTime.ofInstant (cal.toInstant(), 
                                            ZoneId.systemDefault());
2. Kaynak Epoch Milisaniye İse
Örnek
Şöyle yaparız
Date date = ...;
long timestamp = date.getTime();

Instance instance = Instant.ofEpochMilli(timestamp);
Örnek
Şöyle yaparız.
int seconds = ...;
int nanoSeconds = ...;
LocalDateTime ldt = LocalDateTime.ofEpochSecond(seconds, nanoSeconds, ZoneOffset.UTC);
Örnek
Şöyle yaparız. ofEpochSecond() daha iyi bir yöntem
Date date = ...;
long timestamp = date.getTime();

LocalDateTime ldt = LocalDateTime.ofInstant (Instant.ofEpochMilli(timestamp),
            ZoneId.systemDefault());
Örnek
Şöyle yaparız. Burada elimizde milisaniye ve nanosaniye değişkenleri var. Bunları kullanarak bir Instant yaratıyoruz. Daha sonra Instant nesnesinden LocalDateTime elde ediyoruz.
long epochMillis = ...;
long nanos = ...;

LocalDateTime actual = LocalDateTime.ofInstant(
Instant.ofEpochMilli(epochMillis).plusNanos(nanos), TimeZone.getDefault().toZoneId());
Örnek
Şöyle yaparız. Milisaniye değerini kullanarak bir Instant yaratıyoruz. Daha sonra Instant nesnesinden OffsetDateTime elde ediyoruz.
OffsetDateTime.ofInstant(Instant.ofEpochMilli(epochMillis), ZoneId.systemDefault());
3. Kaynak Instant İse
Örnek
Şöyle yaparız
Instant instant = ...
LocalDateTime ldt = LocalDateTime.from(instant);

Örnek
Şöyle yaparız
Instant instant = ...;
// If you want to convert it to OffsetDateTime
OffsetDateTime odt = instant.atOffset(ZoneOffset.UTC);

4. Kaynak LocalDate İse
Şöyle yaparız
Instant instant = LocalDate.of(2012, 9, 5).atStartOfDay(ZoneOffset.UTC).toInstant();
5. Kaynak LocalDateTime İse

Örnek
Şöyle yaparız
LocalDateTime ldt = ...;
long timestamp = ldt.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()
6. Kaynak ZonedDateTime İse
Örnek
Şöyle yaparız
ZonedDateTime zdt = ...;
LocalDateTime dateTimeOfLoss = zdt.toLocalDateTime();
Örnek
Şöyle yaparız
ZonedDateTime zdt = ...;
long timestamp = zdt.withZoneSameInstant(ZoneOffset.UTC).toInstant().toEpochMilli();
Örnek
ZonedDateTime başka zone'a çevrilebiliyor. Şöyle yaparız
ZonedDateTime zdt = ZonedDateTime.now();
ZonedDateTime utcZonedDateTime = zdt.withZoneSameInstant(ZoneOffset.UTC);
Eğer bu iki nesneyi yazdırırsam çıktı olarak şunu alırım
2021-05-26T10:44:45.655+03:00[Asia/Istanbul]
2021-05-26T07:44:45.655Z


Hiç yorum yok:

Yorum Gönder