I place this software in the public domain.
Note that these routines use the Australian format of dd/mm/yyyy. Americans will have to adjust this to handle mm/dd/yyyy.
Correctly handles inputs such as:
2 June, 1977
June 2, 1977
If a year is not given, the current year is used.
Caveat: Doesn't handle 1st, 2nd, 3rd, etc.