Java dönüştürmek.açıklama.Tarih java için.zaman.LocalDate
Yeni GÖRDÜM 8/genel amaçlı-310 java.time.LocalDate
o java.util.Date
bir nesneyi dönüştürmek için en iyi yolu nedir?
Date input = new Date();
LocalDate date = ???
CEVAP
Kısa cevap:
Date input = new Date();
LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
Açıklama:
İsmine rağmen java.util.Date
zaman çizgisi, bir değil, bir anlık temsil eder "tarih". Gerçek veri nesnesi içerisinde saklanan 1970-01-01T00:00 z beri milisaniye long
count (1970 GMT/UTC başında gece yarısı).
Genel amaçlı-310 java.util.Date
eşdeğer sınıfı Instant
, böylece uygun bir yöntem toInstant()
dönüşüm sağlamak için var
Date input = new Date();
Instant instant = input.toInstant();
** 15 örneği zaman dilimi kavramı yok. Bu ise toString
bir zaman dilimine göredir çünkü java.util.Date
toString()
ararsan garip görünebilir. Ancak bu yöntem gerçekten hızlı Java varsayılan zaman dilimi dize sağlamak için kullanır. Zaman dilimi java.util.Date
gerçek durumunun bir parçası değildir.
Instant
Bir de bu zaman dilimi ile ilgili herhangi bir bilgi içermiyor. Böylece, yerel bir tarih için Instant
dönüştürmek için saat dilimi belirlemek için gereklidir. Bu varsayılan bölge olabilir- ZoneId.systemDefault()
- ya uygulama kontrol eden zaman dilimi, kullanıcı tercihleri zaman dilimi gibi olabilir. atZone()
yöntemi zaman dilimi: uygulamak için kullanın
Date input = new Date();
Instant instant = input.toInstant();
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
ZonedDateTime
bir yerel tarih devlet oluşan ve zaman, zaman dilimi ve GMT/UTC offset içerir. Gibi tarih - LocalDate
- toLocalDate()
kullanılarak kolayca elde edilebilir:
Date input = new Date();
Instant instant = input.toInstant();
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
LocalDate date = zdt.toLocalDate();
Nasıl java dönüştürmek için.açıklama.t...
Java dönüştürmek.açıklama.Dize için ta...
Java dönüştürmek.açıklama.JodaTime içi...
Ne zaman ayarlamak için bir java bölge...
java.açıklama.XMLGregorianCalendar içi...