Formats standards FME d'heure et de date

Terminologie

Valeur/type temporelle :

  • Date: Date calendaire
  • Heure : Heure avec optionnellement un décalage UTC.
  • Date Heure: Date calendaire avec horaire, optionnellement avec un décalage UTC.
  • Note: Date Heure est souvent synonyme de Valeur temporelle.

Intervalle : Une période de temps entre deux valeurs temporelles. Exemple : Date + intervalle.

  • Durée : identique à l'intervalle. Exemple : La durée d'un projet.
  • Période : Identique à l'intervalle. Exemple : Période de temps.
  • Différence : identique à l'intervalle. Exemple : La différence entre deux dates.

Format Date/heure

Le format standard FME pour les dates, heures est :

  • Date: yyyymmdd
  • Exemple: 20170206

  • Heure : hhmmss ou hhmmss.123456789
  • Exemple: 111730, 111730.135

  • Temps avec décalage : [Time][UTC offset]
  • Exemple: 111730.135-08:00

  • Date Heure : [Date][Time]
  • Exemple : 20170206111730.135

  • Date heure avec décalage : [Datetime][UTC]
  • Exemple : 20170206111730.135-08:00

  • Chaque valeur Date/Heure dans la syntaxe ci-dessus est considérée comme valide.
  • Les valeurs de date/heure invalides sont :
    • Dates partielles (par exemple année-mois) ou des heures (par exemple, heures-minutes).
    • Les valeurs de date/heure qui dépassent les plages supportées.
    • Les dates qui n'existent pas dans le calendrier Grégorien.
    • Décalages UTC mal formatés.
    • Valeurs vides ou nulles.
Description Exemples
yyyy Année à 4 chiffres, de 0001 à 9999 2011
mm 2 chiffres mois 07
dd 2 chiffres jours du mois 05
hh 2 chiffres heures de 24 heures 14
mm 2 chiffres des minutes 02
ss 2 chiffres des secondes 59
.123456789

Fraction de seconde facultative, jusqu'à 9 chiffres ou résolution en nanosecondes. Des chiffres fractionnaires supplémentaires sont acceptés, mais seuls 9 chiffres fractionnaires sont conservés pendant l'arithmétique temporelle. Les zéros de queue dans les chiffres fractionnaires sont automatiquement coupés.

Seulement le caractère "." et reconnu comme séparateur décimal, même sur les systèmes où il n'y a pas de séparateur décimal par défaut.

140259.135
Déclage UTC

Décalage fuseau horaire avec la syntaxe [+|-]hh:mm (défaut), [+|-]hhmm, ou [+|-]hh.

Note: Il est fréquent de mal interpréter la manière dont les décalages UTC sont appliqués. Par exemple, 8PM-08:00 (Pacific Standard Time) est équivalent à 11PM-05:00 (Eastern Standard Time). Pour obtenir les heures UTC, ajoutez le décalage UTC négatif aux heures non zonées : 8PM+08:00 = 4AM le jour suivant, et 11PM+05:00 = 4AM le jour suivant. Par conséquent, @DateTimeDiff(200000-08:00,230000-05:00) = PT0S, ce qui signifie que les deux heures sont identiques en termes d'heure UTC.

+00:00

-08:00

-08

 

Le format d'intervalle FME est basé sur le format de duré IS 08601.

  • Exemple : -P1Y2M3DT4H5M6.123456789S
  • Le signe "-" indique un intervalle négatif.
  • P est le caractère délimiteur indiquant "Période".
  • Y = année, M = mois, D = jour, T = séparateur des mois et minutes, H = heures, M = minutes, et S = secondes.
  • Seul le champ secondes est une valeur à virgule flottante. Les autres champs sont des entiers.
  • Les délimiteurs P, Y, M, D, T, H, M et S doivent apparaître dans cet ordre. Ainsi, P1M1Y n'est pas valide.
  • Si un champ a la valeur 0, il est omis. Si tous les champs ont la valeur 0, PT0S est renvoyé.
  • Tous les champs doivent être positifs, sauf si tous les champs sont nuls. Le signe "-" indique un intervalle négatif.

Voir aussi