I have a string "12/9/2010 4:39:38 PM" which i have to convert to a date object. I am using the following code to do it:
String str = "12/9/2010 4:39:38 PM";
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("M/dd/yyyy H:m:s a");
date =(Date)formatter.parse(str);
System.out.println("date printed"+date);
However, when im printing the output, i see
Thu Dec 09 04:39:38 IST 2010
How do I get the date exactly the way I declared in the string i.e
12/9/2010 4:39:38 PM
as output? Pls help
You’re assuming that the
Datevalue itself remembers the format – it doesn’t.Date.toStringwill do what it wants – because theDateonly represents an instant in time.If you want to format a
Date, use your formatter again:However, that won’t necessarily return the exact same value that was in your string, as there may be multiple values which parse the same way. For example, as you’ve only used “H:m:s”, I’d expect “4:5:6” to be parsed the same way as “04:05:06”.