Maison >Java >javaDidacticiel >Comment analyser une chaîne ISO 8601 avec un deux-points manquant dans le décalage par rapport à la date Java 8 ?
Analyse d'une chaîne ISO 8601 avec un deux-points manquant en décalage avec la date Java 8
Problème :
La méthode ZonedDateTime.parse() de Java 8 ne parvient pas à analyser une chaîne de date au format ISO 8601 sans deux-points dans le décalage, telle que "2018-02-13T10:20:12.120 0000."
Solution :
Jusqu'à ce que le bug soit corrigé (Java 8 à 121) :
Utilisez un DateTimeFormatter avec un modèle personnalisé pour spécifier les deux points manquants dans le décalage :
<code class="java">String input = "2018-02-13T10:20:12.120+0000"; DateTimeFormatter f = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX"); OffsetDateTime odt = OffsetDateTime.parse(input, f);</code>
Lorsque le bug est corrigé :
Appelez simplement OffsetDateTime.parse() avec la chaîne ISO 8601 sans motif :
<code class="java">OffsetDateTime odt = OffsetDateTime.parse("2018-02-13T10:20:12.120+0000");</code>
Détails :
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!