I have this as a string 02/06/2012 1:25 PM EST
I want to use SimpleDateFormat to return “Feb” from that data
Here is what I tried
SimpleDateFormat gottenDate = new SimpleDateFormat("MMM");
String month = "";
try {
month = gottenDate.format(gottenDate.parse("02/06/2012 1:25 PM EST"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Unfortunately gottenDate.parse("02/06/2012 1:25 PM EST") gets a parse exception when the SimpleDateFormat documents say it should work.
If I do SimpleDateFormat gottenDate = new SimpleDateFormat("MM"); with two M’s instead of 3, it returns “02” for me, as expected. The documents say that 3 or more M’s should return a textual month. This doesn’t happen, why? And yes, by now I could have made a string array of months and matched them to the numberic month SDF returned for me, but I am curious.
How do I make it work for me, thank you!
Exception is expected in your case:
“gottenDate” is set up to parse a string if it matches “MMM” pattern. The following should work:
Hopefully you can see what’s going on here.