मैं एक java.util.Date को JodaTime में बदलना चाहता हूं ताकि तिथियों के बीच घटाव किया जा सके। क्या Date से JodaTime में बदलने का एक अच्छा संक्षिप्त तरीका है?

258
Krt_Malta 18 फरवरी 2011, 17:38

2 जवाब

सबसे बढ़िया उत्तर
java.util.Date date = ...
DateTime dateTime = new DateTime(date);

सुनिश्चित करें कि date null नहीं है, हालांकि, अन्यथा यह new DateTime() जैसा कार्य करता है - मुझे यह पसंद नहीं है।

495
skaffman 18 फरवरी 2011, 17:45
9
तो मूल रूप से: DateTime dateTime = date==null?null:new DateTime(date);
 – 
Joeri Hendrickx
18 फरवरी 2011, 18:47
126
+1 के लिए "अन्यथा यह नई डेटटाइम() की तरह कार्य करता है - मुझे वास्तव में यह पसंद नहीं है।"
 – 
reevesy
27 अप्रैल 2012, 16:10
1
नहीं; तो आपको वही मान मिलेगा जो new DateTime(null) है, जो ठीक वही है जिससे हम बचना चाहते थे। अभिव्यक्ति का मतलब शून्य को शून्य के रूप में बनाए रखना है, जो कि ज्यादातर स्थितियों में समझ में आता है।
 – 
Joeri Hendrickx
8 मई 2013, 01:35
4
ध्यान रखें कि जावा डेट टाइमज़ोन स्वतंत्र है जबकि जोडा डेटटाइम का एक कालक्रम है।
 – 
Cristian Vrabie
26 जुलाई 2013, 15:58
1
हां, एक या दो बार अगर नई डेटटाइम() की तरह शून्य कार्य मुझे थोड़ा परेशान करता है ...
 – 
buzzsawddog
14 नवम्बर 2013, 21:08

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

प्रत्येक डेटाटाइम क्लास विभिन्न प्रकार के कंस्ट्रक्टर प्रदान करता है। इनमें ऑब्जेक्ट कंस्ट्रक्टर शामिल है। यह आपको निर्माण करने की अनुमति देता है, उदाहरण के लिए, निम्नलिखित वस्तुओं से दिनांक समय:

* Date - a JDK instant
* Calendar - a JDK calendar
* String - in ISO8601 format
* Long - in milliseconds
* any Joda-Time datetime class
14
Heathen 18 फरवरी 2011, 17:47
16
यदि आप शून्य तिथियों से बचना चाहते हैं तो आप इसके बजाय date.getTime() का उपयोग कर सकते हैं। आपको एक शून्य सूचक अपवाद मिल जाएगा, हालांकि यह चुपचाप विफल होने से बेहतर हो सकता है।
 – 
Heathen
18 फरवरी 2011, 17:49
2
मुझे आश्चर्य है कि उन्होंने उन वस्तुओं के लिए अपने कन्स्ट्रक्टर को ओवरलोड क्यों नहीं किया।
 – 
Pieter De Bie
23 अक्टूबर 2015, 12:25
1
- क्योंकि प्रणाली सामान्य है। आप अपने स्वयं के ऑब्जेक्ट प्रकारों को पंजीकृत कर सकते हैं ताकि रूपांतरण हो सके या उससे हो सके।
 – 
Jules
30 अप्रैल 2017, 04:22