2013-06-26 10 views
9

कनवर्ट करना 2013-06-24 से 24 जून 2013 को कैसे परिवर्तित करें? मैं नीचे कोड का उपयोग कर रहा हूँ।yyyy-mm-dd को डीडी मिमी yyyy

date1="2013-06-24"; 
SimpleDateFormat d= new SimpleDateFormat("dd MMM yyyy"); 

try{ 
date2 = d.parse(date1); 
}catch (ParseException e1) { 
// TODO Auto-generated catch block 
    e1.printStackTrace(); 
} 

लेकिन मैं इस त्रुटि हो रही है "java.text.ParseException: Unparseable तारीख:" 2013-06-24 "(कम से ऑफसेट 4)"

उत्तर

32

आप दो DateFormat उदाहरणों की जरूरत है अपने पार्स तारीख स्वरूपित कर सकते हैं।

DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd"); 
DateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy"); 
String inputDateStr="2013-06-24"; 
Date date = inputFormat.parse(inputDateStr); 
String outputDateStr = outputFormat.format(date); 
+0

आपको बहुत धन्यवाद, अब यह काम कर रहा है। – user1740281

+0

बहुत बहुत धन्यवाद –

1

बदलें

SimpleDateFormat d= new SimpleDateFormat("dd MMM yyyy"); 

साथ

SimpleDateFormat d= new SimpleDateFormat("yyyy-MM-dd"); 

आपको दिनांक 1 पैटर्न का पालन करना होगा। एक पार्स करने के लिए मूल String, और एक अन्य उत्पादन के लिए आप जो चाहते है: तो फिर आप के साथ

new SimpleDateFormat("dd MMM yyyy"); 
+0

मैं इसे बदल गया है, लेकिन मैं इस सवाल का जवाब "सोम जून 24 00:00:00 IST 2013" हो रही है – user1740281

+0

जवाब देने के लिए धन्यवाद। – user1740281

2

पहली समस्या यह है कि आप स्ट्रिंग और डेट के लिए अलग-अलग डिलीमीटर का उपयोग कर रहे हैं। तो या तो आप "2013-06-24" स्ट्रिंग में "2013 06 24" करते हैं या नए SimpleDateFormat ("dd MMM yyyy") को नए SimpleDateFormat ("dd-MMM-yyyy") पर करते हैं।

और दूसरी समस्या है कि आप सीधे इस तरह प्रारूप बदल सकते हैं नहीं, स्ट्रिंग में आप साल महीने की दिनांक स्वरूप हो रही है, इसलिए पहले की तुलना में यह नीचे के रूप में अपने वांछित प्रारूप करने के लिए बदलने के एक ही प्रारूप के साथ एक तिथि वस्तु बनाने है:

date1="2013-06-24"; 

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 

Date dt = format.parse(date1); 

SimpleDateFormat your_format = new SimpleDateFormat("dd-MMM-yyyy"); 

date2 = your_format.format(dt); 
1
public String getStringFormatted(String datestring) { 
    String format = "dd MM yyyy"; 
    SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault()); 
    return sdf.format(new Date(datestring.replaceAll("-", "/"))); 
} 
संबंधित मुद्दे