Maison  >  Article  >  Java  >  « Java.time » peut-il analyser les valeurs de fraction de seconde dans les chaînes de date ?

« Java.time » peut-il analyser les valeurs de fraction de seconde dans les chaînes de date ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 22:26:02474parcourir

 Can `java.time` Parse Fraction-of-Second Values in Date Strings?

Java.time ne parvient-il pas à analyser les fractions de seconde ?

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.

Solution de contournement avant Java 9

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.

Résolution dans Java 9

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn