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.
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
- Heure : hhmmss ou hhmmss.123456789
- Temps avec décalage : [Time][UTC offset]
- Date Heure : [Date][Time]
- Date heure avec décalage : [Datetime][UTC]
- 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.
Exemple: 20170206
Exemple: 111730, 111730.135
Exemple: 111730.135-08:00
Exemple : 20170206111730.135
Exemple : 20170206111730.135-08:00
Où | 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 " |
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