Java 8 LocalDateTime analyse date non valide

Je voulais valider la date à côté client donc j'ai écrit le code suivant. Mais au lieu de recevoir une exception, je suis d'avoir un bon objet date pour le 31 du mois de février chaîne de date, ce qui est clairement une date non valide.

public class Test {

    public static void main(String[] args) {
        String dateFormat = "HH:mm:ss MM/dd/yyyy";
        String dateString = "11:30:59 02/31/2015";
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(dateFormat, Locale.US);
        try {
            LocalDateTime date = LocalDateTime.parse(dateString, dateTimeFormatter);
            System.out.println(date);
        } catch (Exception e) {
            //Throw invalid date message
        }
    }
}

Sortie : 2015-02-28T11:30:59

Personne ne sait pourquoi LocalDateTime est l'analyse de cette date au lieu de lancer une exception.

pourquoi êtes-vous en attente d'une exception?
sans doute parce que le 31 Février. n'existe pas.
Mais formateur ne sais pas à ce sujet.
Ce qui vous fait penser à qui? Quelque chose sait très bien que le jour n'existe pas, que c'est de la convertir dans le 28...
Mes excuses pour vous induire en erreur plus tôt, le problème n'est pas le manque de millisecondes. C'est en fait le manque Ère. Il nécessite encore un DateTimeFormatterBuilder mais avec une valeur par défaut pour l'Époque, pas de millisecondes. Si vous souhaitez modifier & undelete votre réponse, n'hésitez pas.

OriginalL'auteur Zeeshan | 2015-09-28