2011-02-18 32 views
218

java.util.Date - JodaTime numaralı dönüştürmeyi, tarihler arası çıkarmaları gerçekleştirecek şekilde dönüştürmek istiyorum. Date ile JodaTime arasında dönüştürmek için iyi bir özlü yol var mı?java.util.date - JodaTime dönüşümü

cevap

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

date olsa değil null olduğundan emin olun aksi takdirde new DateTime() gibi davranır - Gerçekten sevmiyorum .

+9

Yani temelde: 'DateTime dateTime = tarih == null: Yeni DateTime (tarih); için' –

+109

1 "aksi takdirde davranır yeni DateTime() gibi - gerçekten bunu sevmiyorum. " – reevesy

+0

@JoeriHendrickx Eski iş parçacığı, ancak DateTime dateTime = date == null demek istemiyor musunuz? yeni DateTime(): yeni DateTime (tarih); ? Sadece merak ediyorum ... tx –

13

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

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

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

@skaffman Eğer boş tarihleri ​​önlemek istiyorsanız date.getTime() kullanabilirsiniz. Null bir işaretçi istisnası alırsınız, ancak sessizce başarısız olmaktan daha iyi olabilir. – Heathen

+2

Neden bu nesneler için kurucularını aşırı yüklemediklerini merak ediyorum. –

+1

@PieterDeBie - sistem genel olduğundan. Kendi nesne türlerinizi, dönüşüme veya ona sahip olmak için kaydedebilirsiniz. – Jules