Convertir des valeurs temporelles numériques ou de chaîne dans un format de date

Il est recommandé de stocker les valeurs d’heure de vos données temporelles dans l’un des types de champs de date dédiés. Ces types de champs de base de données sont spécifiquement conçus pour le stockage des informations relatives à la date et à l’heure. Ils optimisent les performances des requêtes et prennent en charge des requêtes de base de données plus sophistiquées que lorsque vous stockez des valeurs temporelles dans un champ numérique ou de chaîne.

En savoir plus sur les pratiques conseillées pour le stockage des données temporelles

Si des valeurs temporelles sont stockées dans un champ de type chaîne ou numérique (court, long, réel simple ou réel double), vous pouvez les convertir en un champ de date à l’aide de l’outil de géotraitement Convert Temporal Field (Convertir un champ temporel). Utilisez cet outil pour spécifier un format temporel personnalisé ou standard qui permet d’interpréter vos valeurs de date et d’heure et de les convertir dans un format de date.

Les formats standard sont pris en charge par l’outil Convert Temporal Field (Convertir un champ temporel). Toutefois, si certaines de vos valeurs temporelles sont stockées dans un champ de chaîne dans un format de date et heure personnalisé, vous pouvez créer un format de date et heure personnalisé pour interpréter vos données. Par exemple, si vous utilisez l’outil Convertir un champ temporel pour convertir la valeur temporelle Tuesday, August 20, 2002 (mardi 20 août 2002), stockée sous forme de chaîne dans un format de date, vous devez spécifier le format temporel en entrée de la manière suivante : MMMM jj, aaaa.

Remarque :

  • Lorsque vous utilisez l’outil Convert Temporal Field (Convertir un champ temporel), la liste des formats temporels en entrée standard pris en charge varie selon que les valeurs temporelles en entrée sont stockées dans un champ de chaîne ou un champ numérique (court, long, réel simple ou réel double).
  • L’outil Convert Temporal Field (Convertir un champ temporel) permet de spécifier des formats de date et heure personnalisés uniquement lorsque les valeurs temporelles sont stockées dans un champ de chaîne. Les formats de date et heure personnalisés ne sont pas pris en charge lorsque les valeurs temporelles sont stockées dans des champs numériques.

Chaînes de format de date et heure

Une chaîne au format date et heure contient des informations de date et d’heure dans un format cohérent. Chaque chaîne de format se compose d’une combinaison de formats provenant d’un type de format disponible. Parmi les exemples de types de format figurent jour de la semaine, mois, heure et seconde. Dans une chaîne de format de date et heure unique, un seul format de chaque type de format doit être utilisé. Il n’est cependant pas nécessaire d’inclure chaque type de format dans une chaîne de format. Par exemple, il est courant de définir une chaîne de format de date contenant uniquement les informations année, mois et jour du mois, sans inclure les informations concernant l’heure du jour.

Une chaîne de format peut contenir uniquement des informations relatives à l’heure, uniquement des informations relatives à la date ou encore une combinaison d’informations relatives à la date et à l’heure. Les chaînes de format peuvent en outre inclure des séparateurs, tels que des virgules, afin de séparer les formats utilisés.

Vous devez analyser vos données pour déterminer la chaîne de format de date et heure afin d’interpréter vos données. Les exemples suivants présentent différentes chaînes de format visant pour l’interprétation des dates et des heures :

Exemples de chaînes de format de date et heure

Exemple de valeur de donnéesFormater la chaîne

30/05/1978 02:34:56

jj/MM/aaaa HH:mm:ss

2/4/2010 2:39:28 PM

M/j/aaaa h:mm:ss tt

6:05:12 a.m.

h:mm:ss tt

23:31:18.345

HH:mm:ss.s

Tuesday, August 20, 2002

jjjj, MMMM jj, aaaa

Wed, Aug 31 1994

jjj, MMM jj aaaa

03281999030456

MMjjaaaaHHmmss

Personnaliser les formats de date et heure

Une chaîne de format personnalisé consiste en un ou plusieurs spécificateurs de formats de date et heure. La table suivante récapitule les spécificateurs de format qui peuvent être utilisés pour créer un format de date et heure personnalisé en vue d’interpréter vos données :

Spécificateurs de format Date et heure

Spécificateur de formatType de formatDescription

j

Jour du mois

Jour du mois sous forme de chiffres sans zéro de début pour les jours à un seul chiffre.

jj

Jour du mois

Jour du mois sous forme de chiffres avec zéro de début pour les jours à un seul chiffre.

jjj

Jour de la semaine

Jour de la semaine sous forme d'abréviation en trois lettres. La fonction utilise les abréviations associées au paramètre régional spécifié, par exemple, Lun en Français (France).

Conseil :

Les jours de la semaine ne sont pas vérifiés lors de l’interprétation d’une valeur de date. Par conséquent, il importe peu qu’un jour de la semaine qui apparaît correctement dans vos données corresponde à la date représentée dans la valeur de données.

jjjj

Jour de la semaine

Jour de la semaine sous sa forme complète. La fonction utilise les noms complets des jours associés au paramètre régional spécifié, par exemple, Lundi en Français (France).

Conseil :

Les jours de la semaine ne sont pas vérifiés lors de l’interprétation d’une valeur de date. Par conséquent, il importe peu qu’un jour de la semaine qui apparaît correctement dans vos données corresponde à la date représentée dans la valeur de données.

V

Mois

Mois sous forme de chiffres sans zéro de début pour les mois à un seul chiffre.

MM

Mois

Mois sous forme de chiffres avec zéro de début pour les mois à un seul chiffre.

MMM

Mois

Mois sous forme d'abréviation en trois lettres. La fonction utilise les abréviations de mois associées au paramètre régional spécifié, par exemple, Nov en Français (France).

MMMM

Mois

Mois sous sa forme complète. La fonction utilise les noms complets des mois associés au paramètre régional spécifié, par exemple, November en Anglais (États-Unis) et Novembre en Français (France).

y

Année

Année sous forme de deux chiffres, mais sans zéro de début pour les années dont les deux derniers chiffres sont inférieurs à 10.

Conseil :

Les années représentées de cette manière sont comprises entre 1950 et 2049. Une valeur de 49 ou moins sera interprétée comme ayant lieu au XXIe siècle. Ainsi, 7 correspond à l’année 2007. Une valeur de 50 ou plus sera interprétée comme ayant lieu au XXe siècle. 67, par exemple, correspond à l’année 1967.

aa

Année

Année représentée par les deux derniers chiffres, mais avec un zéro de début pour les années dont les deux derniers chiffres sont inférieurs à 10.

Conseil :

Les années représentées de cette manière sont comprises entre 1950 et 2049. Une valeur de 49 ou inférieure sera interprétée comme ayant lieu au XXIe siècle. Ainsi, 07 est interprété comme 2007. Une valeur de 50 ou plus sera interprétée comme ayant lieu au XXe siècle. 67, par exemple, correspond à l’année 1967.

aaa

Année

Année représentée par trois chiffres uniquement. Les années représentées de cette manière sont comprises entre 1 et 999.

aaaa

Année

Année représentée par quatre chiffres.

gg

Ere

Chaîne de période/d’ère. La fonction utilise les valeurs d'ères associées au paramètre régional spécifié.

J

Séparateur temporel

Délimiteur concaténant une valeur de date et une valeur d’heure. En général, cette fonction est visible dans les formats ISO.

h

Heure

Heure sans zéro de début pour les heures à un seul chiffre ; horloge de 12 heures.

H

Heure

Heure sans zéro de début pour les heures à un seul chiffre ; horloge de 24 heures.

hh

Heure

Heures avec zéro de début pour les heures à un seul chiffre ; horloge de 12 heures.

HH

Heure

Heures avec zéro de début pour les heures à un seul chiffre ; horloge de 24 heures.

m

Minute

Minutes sans zéro de début pour les minutes à un seul chiffre.

mm

Minute

Minutes avec zéro de début pour les minutes à un seul chiffre.

s

Seconde

Secondes sans zéro de début pour les secondes à un seul chiffre.

ss

Seconde

Secondes avec zéro de début pour les secondes à un seul chiffre.

s.s

Seconde

Secondes, y compris les sous-secondes, sans zéro de début pour les secondes à un seul chiffre. Bien que le format ne présente qu'une décimale, vous pouvez utiliser n'importe quel nombre de décimales.

Attention :

La précision des valeurs des sous-secondes se limite aux éléments pris en charge pour le type de données du champ d’heure. Par exemple, si vous utilisez un champ d’heure d’un type de données de champ Réel simple ou Double, des erreurs d’arrondi sont possibles.

ss.s

Seconde

Secondes, y compris les sous-secondes, avec zéro de début pour les secondes à un seul chiffre. Bien que le format ne présente qu'une décimale, vous pouvez utiliser n'importe quel nombre de décimales.

Attention :

La précision des valeurs des sous-secondes se limite à ce qui est pris en charge pour le type de données du champ d'heure. Par exemple, si vous utilisez un champ d'heure d'un type de donnes de champ Réel simple ou Double, des erreurs d'arrondi sont possibles.

e

Symbole ponctuel de temps

Chaîne de repère horaire d'un caractère, telle que A ou P.

tt

Symbole ponctuel de temps

Chaîne de repère horaire de plusieurs caractères, telle que AM ou PM.

z

Indicateur de fuseau horaire

Ce suffixe indique que la valeur temporelle est en temps universel coordonné (UTC). En général, cette fonction est visible dans les formats ISO.

Séparateurs

Les séparateurs sont des caractères visant à séparer les informations dans des valeurs de données texte. Les séparateurs fréquemment utilisés sont le signe virgule (,), deux-points (:) et espace ( ). Il n’existe toutefois aucune restriction en matière de séparateurs utilisables pour créer des chaînes de format. Vous pouvez créer des chaînes de format sans séparateurs lorsque vous interprétez des dates et heures stockées dans des champs numériques, car ces derniers ne peuvent pas stocker les séparateurs les plus courants.

Dans de rares cas, les données contiennent des séparateurs pouvant entrer en conflit avec les formats de la table ci-dessus. En pareils cas, vous devez utiliser des guillemets simples pour isoler les séparateurs au sein de votre chaîne de format. D’une manière générale, les guillemets simples peuvent servir à isoler n’importe quel séparateur au sein d’une chaîne de format, mais il n’est pas recommandé de les utiliser, sauf en cas de conflit potentiel. Les exemples suivants illustrent ces concepts :

Exemple de valeur de donnéesFormatDate ou heure interprétée (affichée sous la forme MM/jj/aaaa ou HH:mm:ss)

mois12jour30année2010

'mois'MM'jour'jj'année'aaaa

12/30/2010

30/12/2010

jjMMaaaa

12/30/2010

Heure:18hr6min3sec

'Heure:'h'hr'm'min's'sec'

18:06:03

18:6:3

HH:m:s

18:06:03

Paramètres locaux

Les paramètres régionaux sont importants, car ils déterminent les valeurs de données valides pour les représentations longues de certains des formats de date dans le tableau ci-dessus. Par exemple, la valeur Novembre est interprétée correctement pour MMMM uniquement si le paramètre régional est la langue française. Dans certains cas, si la chaîne de format utilisée ne fait appel à aucune représentation longue, le paramètre régional peut devenir inutile pour l’interprétation des valeurs AM et PM. Si aucune valeur AM ou PM n’est indiquée, les valeurs AM et PM par défaut associées au paramètre régional sont utilisées.

Les paramètres régionaux n’affectent pas les formats utilisés pour créer les chaînes de format. Ainsi, le caractère M (ou MM, MMM, MMMM) représente les mois, quel que soit le paramètre régional. Les exemples suivants illustrent la manière dont le paramètre régional est utilisé pour interpréter les dates :

Valeur de donnéesFormater la chaîneParamètre régionalDate interprétée (MM/jj/aaaa)

November 30, 2010

MMMM jj, aaaa

Anglais (États-Unis)

11/30/2010

Noviembre 30, 2010

MMMM jj, aaaa

Espagnol (Espagne)

11/30/2010

Mon, Feb 22, 2010

jjj, MMM jj, aaaa

Anglais (États-Unis)

2/22/2010

30/12/2010

jj/M/aaaa

Tous les paramètres régionaux

12/30/2010

Valeurs AM et PM

Des repères temporels standard, ou valeurs AM et PM, existent pour chaque paramètre régional. Vous pouvez cependant définir vos propres symboles ponctuels de temps. Si des repères temporels figurent dans votre chaîne de format (t ou tt), les caractères utilisés pour représenter les repères temporels doivent être définis. Les repères temporels ne sont pertinents qu’avec les chaînes de format qui utilisent une horloge de 12 heures (h ou hh). Ils ne conviennent pas aux chaînes de format qui font appel à l’horloge de 24 heures (H ou HH). Si vous ne définissez pas vos propres repères temporels, les repères temporels standard du paramètre régional sélectionné sont utilisés. Pour définir vos propres valeurs AM et PM, le type de données du champ temporel doit être défini sur Texte. Les exemples suivants illustrent ces concepts avec une seule valeur PM pour plus de simplicité. Les mêmes concepts s’appliquent à la valeur AM.

Valeur de donnéesChaîne de formatValeur PMHeure interprétée (HH:mm:ss)

6:12:34 P

h:mm:ss t

P

18:12:34

6:12:34 p.m.

h:mm:ss tt

p.m.

18:12:34

6:12:34

H:mm:ss

PM

6:12:34

6:12:34 PM

h:mm:ss tt

PM

18:12:34