ISO 8601 Intervalle de Temps d'Analyse en Java

ISO 8601 définit une syntaxe pour représenter un intervalle de temps.

Il y a quatre façons d'exprimer un intervalle de temps:

  • De début et de fin, tels que les "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
  • De début et la durée, tels que "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
  • Durée et à la fin, comme "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
  • Durée, tels que "P1Y2M10DT2H30M", avec en plus des informations de contexte

Si des éléments sont manquants à partir de la valeur de fin, ils sont supposés être les mêmes que pour la valeur de départ, y compris le fuseau horaire. Cette fonction de la norme permet concis représentations des intervalles de temps. Par exemple, la date d'une réunion de deux heures, y compris le début et la fin des temps pourrait être simplement indiqué que "2007-12-14T13:30/15:30", où "/15:30" implique "/2007-12-14T15:30" (la même date que le début), ou le début et dates de fin d'une période de facturation mensuelle, comme "2008-02-15/03-14", où "/03-14" implique "/2008-03-14" (la même année que le début).

En outre, les intervalles répétés sont formés par l'adjonction de", R[n]/" au début d'un intervalle d'expression, où R est utilisé comme la lettre elle-même et [n] est remplacé par le nombre de répétitions. Laissant de côté la valeur de [n] désigne un nombre illimité de répétitions. Donc, pour reprendre l'intervalle de "P1Y2M10DT2H30M" cinq fois en commençant à "2008-03-01T13:00:00Z", utilisez "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M".

Je suis à la recherche d'un bon Java parser (si possible compatible avec la Joda-Time library) pour analyser cette syntaxe. Tous les pointeurs à une bonne bibliothèque ?

InformationsquelleAutor fellahst | 2013-04-12