Pourquoi ce code jette-t-il une exception de date imparable?
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.000Z'"); f.setLenient(false); Ssortingng dateStr = "2012-03-11T02:46:01.000Z"; f.parse(dateStr);
Cela fonctionne bien quand clément est vrai. Cela fonctionne étrangement pour la date de saisie ‘ 2012-03-01T02: 46: 01.000Z ‘ même avec indulgence comme faux. Fuseau horaire par défaut utilisé: PST
Parce que cette heure n’existe pas dans votre fuseau horaire par défaut, c’est le jour, heure avancée, et l’heure est passée de 2h00 à 3h00. : P
Puisque vous parsingz UTC, définissez le fuseau horaire de l’instance SimpleDateFormat
sur UTC comme suit:
f.setTimeZone(TimeZone.getTimeZone("UTC"));
et votre problème partira.