Pourquoi ne SimpleDateFormat analyser de date incorrect?

J'ai de la date dans un format de chaîne et je veux analyser qu'en util date.

var date ="03/11/2013"

Je suis d'analyse comme suit :

new SimpleDateFormat("MM/dd/yyyy").parse(date)

Mais la chose étrange est que, si je suis de passage "03-08-201309 hjhkjhk" ou "03-88-2013" ou 43-88-201378", il ne renvoie pas d'erreur , il analyse.

Pour cela, je dois écrire une regex modèle pour la vérification de la demande si l'introduction de la date est correcte ou non.
mais pourquoi est-il si ??

Code :

scala> val date="03/88/201309 hjhkjhk"
date: java.lang.String = 03/88/201309 hjhkjhk

scala> new SimpleDateFormat("MM/dd/yyyy").parse(date)
res5: java.util.Date = Mon May 27 00:00:00 IST 201309
  • var date? Je ne pense pas, copiez le code réel dans la question, s'il vous plaît.
  • var date n'est pas Java.
  • Corne. Je suis en utilisant scala
  • Si c'est une option, vous seriez probablement mieux d'utiliser Joda Time (joda-time.sourceforge.net).
  • Vous devriez aussi regarder à la Joda Time API qui pourrait bien permettre une interprétation plus restrictive - et est généralement plus propre date/heure API de toute façon.
  • Lorsque la question a été posée en 2013, Joda-Temps, c'était une meilleure option que SimpleDateFormat à de nombreuses fins. Aujourd'hui (2017) Joda-Time est en mode de maintenance, mais nous avons encore meilleure option dans java.time AKA JSR 310. Certes, je vous recommande de jeter SimpleDateFormat et Date - dessus de votre épaule.

InformationsquelleAutor Rishi | 2013-03-11