L'analyse de différents formats de la date en une chaîne de caractères en Java

J'ai une chaîne de caractères qui peut éventuellement contenir une date dans l'un des formats suivants:

2001-01-05 (yyyy-mm-dd)
2001/01/05 (yyyy/mm/dd)
01/05/2001 (dd/mm/yyyy)
01-05-2001 (dd-mm-yyyy)
2001 january 5
2001 5 january
january 5 2001
5 january 2001
january 5
5 january

Je veux être en mesure d'analyser la chaîne de caractères et l'extrait de l'objet Date.

Mon approche était comme suit:

Cela ne semble pas fonctionner comme prévu. Surtout pour les dates comme 5 janvier 2001, etc. Comment dois-je faire?

Quel est le problème avec les motifs? docs.oracle.com/javase/7/docs/api/java/text/...
Toujours fournir des paramètres régionaux de votre format de date lorsque vous souhaitez analyser date dans une langue particulière. (new SimpleDateFormat("{format}", Locale.ENGLISH);)
Rien maintenant que vous avez fixé.
Cela ne fonctionne toujours pas correctement les dates comme 5 janvier 2001. Il satisfait le MMM jj aaaa motif et la date je finis par obtenir est 00100624 qui est totalement arbitraire.
Voir ma réponse.

OriginalL'auteur Alagappan Ramu | 2013-10-02