I have a value like the following Mon Jun 18 00:00:00 IST 2012
and I want to convert this to 18/06/2012
How to convert this?
I tried this method
public String toDate(Date date) { SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Date theDate = null; //String in = date + "/" + month + "/" + year; try { theDate = dateFormat.parse(date.toString()); System.out.println("Date parsed = " + dateFormat.format(theDate)); } catch (ParseException e) { e.printStackTrace(); } return dateFormat.format(theDate); }
but it throws following exception :
java.text.ParseException: Unparseable date: "Mon Jun 18 00:00:00 IST 2012"
Advertisement
Answer
I hope following program will solve your problem
String dateStr = "Mon Jun 18 00:00:00 IST 2012"; DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy"); Date date = (Date)formatter.parse(dateStr); System.out.println(date); Calendar cal = Calendar.getInstance(); cal.setTime(date); String formatedDate = cal.get(Calendar.DATE) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.YEAR); System.out.println("formatedDate : " + formatedDate);