Le package java.time de Java 8 a du mal à analyser les entrées chaînes avec un composant de fraction de seconde lors de l’utilisation de la classe DateTimeFormatter. Les tentatives d'analyse d'une chaîne telle que "2011120312345655" à l'aide du modèle de format "aaaaMMjjHHmmssSS" entraînent une exception DateTimeParseException, malgré la documentation indiquant que "SS" doit représenter des valeurs en fractions de seconde.
Avant Java 9, une solution de contournement a été proposée :
<code class="java">DateTimeFormatter dtf = new DateTimeFormatterBuilder() .appendPattern("yyyyMMddHHmmss") .appendValue(ChronoField.MILLI_OF_SECOND, 3) .toFormatter();</code>
Cependant, cette solution de contournement ne résout pas complètement le problème, car elle ne peut pas gérer le cas d'utilisation de seulement deux symboles de modèle, "SS". Des solutions alternatives utilisant d'autres champs ou bibliothèques externes ont également été suggérées.
Le problème JDK associé à ce problème a été marqué comme résolu pour Java 9. Cela indique que la capacité du package java.time à analyser les valeurs en fractions de seconde a été améliorée dans cette version.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!