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"
DateFormat estFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat gmtFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); TimeZone gmtTime = TimeZone. getTimeZone("IST");
which represents the time one second before midnight. In case an unambiguous representation of time is required, 00:00 is usually the preferred notation for midnight and not 24:00.
Using strptime() , date and time in string format can be converted to datetime type. The first parameter is the string and the second is the date time format specifier. One advantage of converting to date format is one can select the month or date or time individually.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With