System.currentTimeMillis()स्पष्ट रूप से सबसे कुशल है क्योंकि यह एक वस्तु भी नहीं बनाता है, लेकिन new Date()वास्तव में एक लंबे समय के बारे में सिर्फ एक पतली आवरण है, इसलिए यह बहुत पीछे नहीं है। Calendarदूसरी ओर, अपेक्षाकृत धीमी और बहुत जटिल है, क्योंकि इसे काफी जटिलता और सभी विषमताओं से निपटना पड़ता है जो तारीखों और समय (लीप वर्ष, दिन की बचत, टाइमज़ोन, आदि) से निहित हैं।
यह आमतौर पर Dateआपके आवेदन के भीतर केवल लंबे टाइमस्टैम्प या वस्तुओं से निपटने के लिए एक अच्छा विचार है , और केवल Calendarतब उपयोग करें जब आपको वास्तव में दिनांक / समय की गणना करने की आवश्यकता हो, या उपयोगकर्ता को उन्हें प्रदर्शित करने के लिए तिथियों को प्रारूपित करने की आवश्यकता हो। यदि आपको बहुत कुछ करना है, तो क्लीनर इंटरफ़ेस और बेहतर प्रदर्शन के लिए, Joda Time का उपयोग करना शायद एक अच्छा विचार है।