2010-11-12 6 views
9

में एमएम/डीडी/वाई वाईवाईवाई से डीडी-एमएमएम-वाईवाईवाई में जा रहा है क्या जावा में कोई तरीका है जिसका उपयोग मैं MM/DD/YYYY से DD-MMM-YYYY में परिवर्तित करने के लिए कर सकता हूं?जावा

उदाहरण के लिए: 05/01/199901-MAY-99 धन्यवाद करने के लिए

!

+0

ध्यान रखें कि आपके पैटर्न वाक्य रचना तथ्य अमान्य में है की कोशिश करो। यह महीनों के लिए वर्षों और 'डी' के लिए' y' है। 'वाई' का कोई मतलब नहीं है और 'डी' वर्ष का दिन है। आप 'एमएम/डीडी/yyyy' से 'dd-MMM-yyyy' में कनवर्ट करना चाहते हैं। – BalusC

+0

धन्यवाद। जावा के लिए नया होने के नाते, यह मेरी तरह की चीजों को इंगित करने में बहुत मददगार है। –

+0

आपके पास लोकेल होना चाहिए। विकल्पों पर अंग्रेजी: http: //stackoverflow.com/a/2603676/2114308 – Phuong

उत्तर

19

दिनांक को पार्स करने के लिए एक सरलडेटाफॉर्मेट का उपयोग करें और फिर इसे सरल प्रारूप के साथ प्रिंट करें।

SimpleDateFormat format1 = new SimpleDateFormat("MM/dd/yyyy"); 
    SimpleDateFormat format2 = new SimpleDateFormat("dd-MMM-yy"); 
    Date date = format1.parse("05/01/1999"); 
    System.out.println(format2.format(date)); 

आउटपुट::

01-May-99 
+2

आप एसडीएफ कन्स्ट्रक्टर को 'लोकेल' की आपूर्ति करना चाहेंगे, अन्यथा यह केवल प्लेटफ़ॉर्म डिफ़ॉल्ट लोकेल ले जाएगा महीने के नाम, जो आप उपयोग नहीं करना चाहते हैं। – BalusC

+0

बहुत सच है, आप समय क्षेत्र को 'format1.setTimeZone (TimeZone.getTimeZone ("जीएमटी") के साथ भी सेट कर सकते हैं); ' –

0
formatter = new SimpleDateFormat("dd-MMM-yy"); 
0

नीचे काम करना चाहिए

यहाँ कुछ कोड है।

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); 
Date oldDate = df.parse(df.format(date)); //this date is your old date object 
1

इस प्रयास करें,

Date currDate = new Date(); 
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
String strCurrDate = dateFormat.format(currDate); 
System.out.println("strCurrDate->"+strCurrDate); 
1

इस

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // Set your date format 
     String currentData = sdf.format(new Date()); 
     Toast.makeText(getApplicationContext(), ""+currentData,Toast.LENGTH_SHORT).show();