SORU
20 Ocak 2014, PAZARTESİ


Java dönüştürmek.açıklama.Tarih java için.zaman.LocalDate

Yeni GÖRDÜM 8/genel amaçlı-310 java.time.LocalDateo java.util.Date bir nesneyi dönüştürmek için en iyi yolu nedir?

Date input = new Date();
LocalDate date = ???

CEVAP
20 Ocak 2014, PAZARTESİ


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();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006