The DateFormat class has a method to parse a date string into a Date. There is no need to tokenize the string and parse it yourself, as Sunetra described.
There are 4 instances of this class that you can use: SHORT, MEDIUM, LONG, and FULL. Each instance parses several different input formats. See the
API docs for more information on these formats.
I can't guarantee that there is a way to accept ALL possible inputs, but this should come pretty close:
The try/catch code is a little messy, but it shows the general idea.