READ_DATE() : convertir un texte en date (PARSEDATE)
La fonction READ_DATE lit une date écrite sous forme de texte et la convertit en date exploitable par TimeTonic. Elle est utile lorsque vos dates arrivent en texte brut (import, saisie libre, concaténation) et ne sont pas reconnues comme des dates.
Le point le plus important : le mode et l'écriture du format vont ensemble. Le mode classic attend un format en majuscules (DD/MM/YYYY), le mode extended attend un format en minuscules (d/m/Y). Mélanger les deux est la cause n°1 des formules qui ne renvoient rien.
Syntaxe
Le troisième paramètre est facultatif : sans lui, le mode classic s'applique.
1valeur_texteLe texte à lire : une valeur saisie, une colonne texte, ou le résultat d'une autre fonction (CONCAT, SUBSTITUTE).
2formatLa façon dont la date est écrite dans le texte, séparateurs compris. Son écriture dépend du mode choisi.
3mode (facultatif)classic (par défaut) ou extended. Voir la section suivante.
Les deux modes de format
Mode
Écriture du format
Exemple
Quand l'utiliser
classic
Lettres en majuscules : DD, MM, YYYY
"DD/MM/YYYY"
Mode par défaut, pour une date simple. Les séparateurs / et - fonctionnent.
extended
Lettres en minuscules, conventions PHP : d, m, Y, H, i
"d/m/Y H:i"
Pour lire une date accompagnée d'une heure, ou un format inhabituel.
Ne mélangez pas les deux écritures."DD-MM-YYYY HH:mm" avec le mode extended ne fonctionne pas, et "d-m-Y" avec le mode classic non plus. Le format doit toujours être écrit dans la convention du mode choisi.
Caractères de format
Élément
Mode classic
Mode extended
Jour
DD
d
Mois
MM
m
Année (4 chiffres)
YYYY
Y
Heure (24 h)
HH
H
Minutes
mm
i
Le mode classic reconnaît également les formats suivants :
Exemples
Lire une date simple
Le texte 01-10-2021 devient une date exploitable (01-10-2021 00:00).
READ_DATE("01-10-2021", "DD-MM-YYYY")
Lire une date avec l'heure
Pour lire une heure, utilisez le mode extended et son écriture en minuscules. Activez l'option Heure sur la colonne de sortie pour afficher l'heure.
Un texte comme 25-12-2024 10h50 sépare l'heure avec un h, alors que le format attend un :. Remplacez le séparateur avec SUBSTITUTE avant de lire la date.
Un résultat à 0 signifie que la date n'a pas pu être lue. Vérifiez ces quatre points dans l'ordre.
Le format ne correspond pas au mode
En mode extended, écrivez le format en minuscules (d/m/Y H:i). En mode classic, en majuscules (DD/MM/YYYY). C'est l'erreur la plus fréquente.
Les séparateurs ne correspondent pas au texte
Le format doit reproduire le texte à l'identique, séparateurs compris : 10h50 ne se lit pas avec H:i. Corrigez le texte avec SUBSTITUTE.
Le format de sortie de la colonne n'est pas Date
Dans l'onglet Options, réglez le format de sortie sur Date, et activez l'heure si vous lisez une heure. En sortie Nombre, la fonction affiche un horodatage (par exemple 1633039200).
Le texte contient des caractères en trop
Espaces au début ou à la fin, texte parasite : nettoyez la valeur avec TRIM avant de la lire.
Aller plus loin
FORMAT_DATE
L'opération inverse : afficher une date dans le format de votre choix.