The CalendarParser class can parse a wide range of formatted dates and return a standard java.util.Calendar object. The tests check that the following dates are all correctly parsed:

Feb 3 1000 February 3, 2000 3 Feb 2000 2000 Feb 3
July 4, 1999 Tue, Jan 05, 1999 2000/05/08 2-3-01
1-1-2001 2001-2-1 Feb 1st, 2001 Feb 3rd, 2001
Dec 5th, 2001 Oct 12th, 2001 Oct 12, 2001 2001 Oct 12
12 2001 Oct 1 12 Oct 12/27/00 8/30/00
8/30/99 8/30/49 8/30/50 2000-08-30
2000-8-30 20000830

The time parsing code is still lightly-tested, but seems to work:

2000-05-08 13:28:19.654 2000-05-08 1:28:19 PM 2000-05-08 1:28PM
2000-05-08 1:28:19 AM 2000-05-08 1:28:19 AM May 8, 2000 1:28 PM CST
May 8, 2000 7:28 PM GMT May 8, 2000 13:28:57 -06:00

You can download CalendarParser.java, see the JavaDoc, or download a jar file with the source, test file and ant build file.

This code is released under your choice of the LGPL, BSD, or Creative Commons license.