BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024
-
25 juil. 2016 à 17:29
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 2024
-
27 juil. 2016 à 17:44
Hello,
Je dois recevoir une info de date/durée "au format ISO8601".
Je vais une petite recherche pour savoir ce qu'il en retourne et je trouve une page Wikipedia qui m'explique ce format.
Extrait:
Exemple :
P18Y9M4DT11H9M8S qui représente une (longue) durée de 18 ans, 9 mois, 4 jours, 11 heures, 9 minutes et 8 secondes
Dans mon cas, au niveau des durées, je suis susceptible d'avoir des valeurs de "PT7S" correspondant à 7s.
Le souci est que je ne trouve pas de façon pour créer un formatter correct afin de parser automatiquement ces valeurs.
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 2024127 Modifié par KX le 25/07/2016 à 19:45
Bonjour,
ISO-8601 c'est le standard utilisé notamment en JavaScript, JSON, XML etc. on trouve des méthodes de conversions dans javax.xml.datatype.*
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 26 juil. 2016 à 16:33
Merci KX, cela me met sur la piste. Par contre, Android n'inclue pas d'implémentation pour la DatatypeFactory. Il est conseillé de lui fournir l'implémentation Xercès mais je n'arrive pas à l'intégrer proprement.
Du coup, je jettes un oeil sur JodaTime.
KX
Messages postés16733Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 janvier 2024127 Modifié par KX le 27/07/2016 à 18:28
Ces deux classes fournissent a priori les Formatter dont tu as besoin :
DateTime dateTime = ISODateTimeFormat.dateTimeParser()
.parseDateTime("1977-04-22T06:00:00Z");
Period period = ISOPeriodFormat.standard()
.parsePeriod("P18Y9M4DT11H9M8S");