2010-02-25 16 views
24

पर कनवर्ट करें मैं 02 26 1 99 1 जैसे इनपुट जन्मदिन स्ट्रिंग कैसे ले सकता हूं और इसे ग्रेगोरियन कैलेंडर में बना सकता हूं?एक स्ट्रिंग को ग्रेगोरियन कैलेंडर

मैंने इसे पहले पार्स करने की कोशिश की लेकिन यह मुझे एक त्रुटि संदेश दे रहा है इसलिए मुझे पूरा यकीन नहीं है कि मैं क्या गलत कर रहा हूं। मेरे पास इस तिथि से पहले अन्य इनपुट डेटा भी है। एक और स्ट्रिंग है और एक डबल वैल्यू है।

+0

संभावित दिनांक डुप्लिकेट [दिनांक दिनांक या कैलेंडर ऑब्जेक्ट में स्ट्रिंग को कैसे परिवर्तित करें?] (Http://stackoverflow.com/questions/43802/how-to-convert-a-date-string-to- एक तिथि-या-कैलेंडर-ऑब्जेक्ट) – Twonky

उत्तर

32

दिनांक को पार्स करने के लिए SimpleDateFormat का उपयोग करें और फिर इसे Calendar पर असाइन करें।

DateFormat df = new SimpleDateFormat("dd MM yyyy"); 
Date date = df.parse("02 26 1991"); 
Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 

तीसरी लाइन के साथ प्रतिस्थापित किया जा सकता:

Calendar cal = new GregorianCalendar(); 

लेकिन मैं पहले संस्करण पसंद करते हैं।

+0

FYI: यह समय क्षेत्र को संभाल नहीं करता है। – johnstosh

1

दिखाया गया है here एक DateFormat का उपयोग करें:

उदाहरण:

DateFormat dateFormat = new SimpleDateFormat("hh:mm dd/MM/yy"); 
dateFormat.setLenient(false); 
Date d = dateFormat.parse("06:23 01/05/06"); 

उपयोग पार्स() SimpleDateFormat वर्ग की विधि। सख्त पार्सिंग को मजबूर करने के लिए आप setLenient (false) का उपयोग कर सकते हैं।