Dönüştürmek java.util.date a JodaTime


249

Ben dönüştürmek istediğiniz java.util.Dateiçin JodaTimetarih arasındaki çıkarmalar yürütmek için böylece. Dan dönüştürmek için iyi bir özlü yolu var mı Datehiç JodaTime?

Yanıtlar:


478
java.util.Date date = ...
DateTime dateTime = new DateTime(date);

Emin olun datedeğildir null, ama, aksi takdirde davranır gibi new DateTime()ben - gerçekten sevmiyorum.


9
Temel olarak:DateTime dateTime = date==null?null:new DateTime(date);
Joeri Hendrickx

121
+1 için "aksi takdirde yeni DateTime () gibi davranır - Bunu gerçekten sevmiyorum."
reevesy

1
@BabajidePrince No; o zaman tam olarak kaçınmak istediğimiz şey olan yeni DateTime (null) değeriyle aynı değeri elde edersiniz. İfade, çoğu durumda mantıklı olan null değerini null olarak tutmak içindir.
Joeri Hendrickx

4
Joda DateTime'ın bir Kronolojisi varken Java Tarihinin TimeZone'dan bağımsız olduğunu unutmayın.
Cristian Vrabie

1
Evet, bir ya da iki if null yeni DateTime () gibi hareket bana biraz anoyingness neden ...
buzzsawddog

13

http://joda-time.sourceforge.net/quickstart.html

Her datetime sınıfı, çeşitli kurucular sağlar. Bunlar Nesne yapıcısını içerir. Bu, örneğin aşağıdaki nesnelerden DateTime oluşturmanıza olanak tanır:

* Date - a JDK instant
* Calendar - a JDK calendar
* String - in ISO8601 format
* Long - in milliseconds
* any Joda-Time datetime class

16
@skaffman null tarihlerden kaçınmak istiyorsanız bunun yerine date.getTime () kullanabilirsiniz. Ancak sessiz bir şekilde başarısız olmaktan daha iyi olabilecek bir boş işaretçi istisnası alıyorsunuzdur.
Heathen

2
Acaba neden bu nesneler için yapıcılarını aşırı yüklemediler.
Pieter De Bie

1
@PieterDeBie - sistem genel olduğundan. Dönüştürme veya dönüştürme için kendi nesne türlerinizi kaydedebilirsiniz.
Jules
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.