I need to parse a string like "February 12, 1981" as a Date. I use SimpleDateFormat. But if I do:
new SimpleDateFormat("MMMMM dd, yyyy").parse("February 12, 1981")
I get java.text.ParseException.
I tried to reduce it to see where the problem is. First:
new SimpleDateFormat("MMMMM").parse("February")
works. Then:
new SimpleDateFormat("MMMMM dd").parse("February 12")
doesn't work anymore. Anyone know why? I also tried new SimpleDateFormat("MMMMM' 'dd").
I'm using JRE 1.6.0_06.
From stackoverflow
asterite
-
What version of JDK/JRE are you using?
This works fine for me with 1.4.2_14, 1.5.0_16, and 1.6.0_07:
SimpleDateFormat df = new SimpleDateFormat("MMMMM dd, yyyy"); Date parsed = df.parse("February 12, 1981"); System.out.println(parsed);output:
Thu Feb 12 00:00:00 EST 1981
asterite : Thanks! It turns out in 1.6.0_06 it doesn't work. I ask a friend who has 1.6.0_10 to try it and it worked. So it must have been a bug fixed in 1.6.0_07. :-)matt b : I don't see it listed under the list of bugfixes in 1.6.0_07, but hey as long as it works... http://java.sun.com/javase/6/webnotes/ReleaseNotes.html#160_07asterite : Grrr... I just found out SimpleDateFormat parses localized dates, and my computer locale is, don't know why, Spanish, even though everything in the screen is in English.matt b : You might want to update the original question to include the actual fix (your incorrect locale setting).From matt b
0 comments:
Post a Comment