Les formats de date et d'heure sont définis par des chaînes de masque de date et d'heure. Dans ces chaînes, les lettres sans guillemets de 'A' à 'Z' et de 'a' à 'z' sont interprétées comme des lettres de masque représentant les composants d'une chaîne de date ou d'heure. Le texte peut être placé entre guillemets simples (') afin d'éviter son interprétation. "''" représente un guillemet simple. Tous les autres caractères ne sont pas interprétés ; ils sont simplement copiés dans la chaîne de sortie durant le formatage ou comparés à la chaîne d'entrée durant l'analyse. Les lettres de masque définies sont les suivantes (tous les autres caractères de 'A' à 'Z' et de 'a' à 'z' sont réservés) :
Lettre | Composant de date ou d'heure | Présentation | Exemples |
---|---|---|---|
G | Identificateur d'ère | Texte | AD |
y | Année | Année | 1996; 96 |
M | Mois de l'année | Mois | July; Jul; 07 |
w | Semaine de l'année | Nombre | 27 |
W | Semaine dans le mois | Nombre | 2 |
D | Jour de l'année | Nombre | 189 |
j | Jour du mois | Nombre | 10 |
F | Jour de la semaine dans le mois | Nombre | 2 |
E | Jour de la semaine | Texte | Tuesday; Tue |
a | Marqueur am/pm | Texte | PM |
H | Heure du jour (0-23) | Nombre | 0 |
k | Heure du jour (1-24) | Nombre | 24 |
K | Heure au format am/pm (0-11) | Nombre | 0 |
h | Heure au format am/pm (1-12) | Nombre | 12 |
m | Minute dans une heure | Nombre | 30 |
s | Seconde dans la minute | Nombre | 55 |
S | Milliseconde | Nombre | 978 |
z | Fuseau horaire | Fuseau horaire général | Pacific Standard Time; PST; GMT-08:00 |
Z | Fuseau horaire | Fuseau horaire RFC 822 | -0800 |
Pour le formatage, si le nombre de lettres de masque est de quatre ou plus, c'est la forme complète qui est utilisée. Sinon, une forme courte ou abrégée est utilisée, le cas échéant. Pour l'analyse, les deux formes sont acceptées, indépendamment du nombre de lettres de masque.
Pour le formatage, le nombre de lettres de masque correspond au nombre minimum de chiffres et les nombres plus petits sont complétés de zéros jusqu'à atteindre ce nombre minimum. Pour l'analyse, le nombre de lettres de masque est ignoré sauf s'il est nécessaire pour séparer deux champs adjacents.
Pour le formatage, si deux lettres de masque sont utilisées, l'année est tronquée à deux chiffres. Sinon, l'année est interprétée comme un nombre.
Pour l'analyse, si le nombre de lettres de masque est supérieur à deux, l'année est interprétée littéralement, quel que soit le nombre de chiffres. Par exemple, pour le masque "MM/dd/yyyy", "01/11/12" est analysé sous la forme Jan 11, 12 A.D.
Dans le cadre de l'analyse avec le masque d'année abrégé ("y" ou "yy"), Rational Integration Tester interprète l'année abrégée par rapport au siècle en ajustant les dates afin qu'elles soient comprises entre 80 ans avant et 20 ans après la date-heure en cours.
Prenons l'exemple de la date-heure Janvier 1, 1997 et utilisons le masque "MM/dd/yy". La chaîne "01/11/12" est interprétée sous la forme Jan 11, 2012, alors que la chaîne "05/04/64" est interprétée sous la forme Mai 4, 1964.
Durant l'analyse, seules les chaînes se composant exactement de deux chiffres sont analysées dans le siècle par défaut. Toute autre chaîne numérique est interprétée littéralement. Il peut s'agir, par exemple, d'une chaîne à un chiffre, d'une chaîne à trois chiffres ou plus ou d'une chaîne à deux caractères qui ne comporte pas que des chiffres ("-1"). Ainsi, "01/02/3" ou "01/02/003", s'ils sont analysés avec le même masque, sont analysés comme signifiant Jan 2, 3 AD. De même, "01/02/-3" est interprété comme signifiant Jan 2, 4 BC.
Si le nombre de lettres de masque est de trois ou plus, le mois est interprété comme du texte. Sinon, le mois est interprété comme un nombre.
Les fuseaux horaires sont interprétés comme du texte s'ils comportent des noms. Pour les fuseaux horaires représentant une valeur de décalage par rapport à l'heure GMT, la syntaxe suivante est utilisée : GMT +/- Heures:Minutes, ce qui signifie heure GMT plus ou moins un certain temps de décalage en heures et minutes.
Les heures doivent être comprises entre 0 et 23 et peuvent être exprimées sous forme d'un seul ou de deux chiffres (par exemple, 3:00 ou 11:00). Les minutes doivent être comprises entre 00 et 59 et doivent toujours être exprimées sur deux chiffres.
Pour l'analyse, les fuseaux horaires RFC 822 sont également acceptés.
Pour le formatage, le format de fuseau horaire à 4 chiffres RFC 822 est utilisé : +/-HHmm, cela représentant le décalage actuel par rapport à l'heure GMT en heures et minutes.
Les heures doivent être comprises entre 00 et 23 (toujours exprimées sous la forme de deux chiffres) et les minutes doivent être comprises entre 00 et 59.
Pour l'analyse, les fuseaux horaires généraux sont également acceptés.
Les exemples suivants indiquent la façon dont les lettres de masque sont interprétées en anglais. La date et l'heure sont 2001-07-04 12:08:56 heure locale dans le fuseau horaire du Pacifique Nord américain.
Masque date et heure | Résultat |
---|---|
yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
h:mm a" | 7:41 PM |
hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
K:mm a, z" | 0:08 PM, PDT |
yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
yyMMddHHmmssZ" | 010704120856-0700 |