The SimpleDateFormat:
SimpleDateFormat pdf = new SimpleDateFormat("MM dd yyyy hh:mm:ss:SSSaa");
The exception thrown by pdf.parse("Mar 30 2010 5:27:40:140PM");
:
java.text.ParseException: Unparseable date: "Mar 30 2010 5:27:40:140PM"
Any ideas?
Edit: thanks for the fast answers. You were all correct, I just missed that one key sentence in the SimpleDateFormat docs - I should probably call it a day.
First, three-char months are to be represented by MMM
. Second, one-two digit hours are to be represented by h
. Third, Mar
seems to be English, you'll need to supply a Locale.ENGLISH
, else it won't work properly in machines with a different default locale.
The following works:
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy h:mm:ss:SSSa", Locale.ENGLISH);
System.out.println(sdf.parse("Mar 30 2010 5:27:40:140PM"));
Result (I'm at GMT-4 w/o DST):
Tue Mar 30 17:27:40 BOT 2010
Also see the java.text.SimpleDateFormat
javadoc.
Why you called it pdf
is beyond me, so I renamed it sdf
;)
From SimpleDateFormat javadocs:
Month: If the number of pattern letters is 3 or more, the month is interpreted as text; otherwise, it is interpreted as a number.
Try to use pattern like "MMM dd yyyy"
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