Fonctions Date et heure de workflow
Une fonction DateHeure exécute une action ou un calcul sur une valeur de date et d'heure. Utilisez une fonction DateHeure pour ajouter ou soustraire des intervalles, trouver la date actuelle, trouver le premier ou le dernier jour du mois, extraire un composant d'une valeur de date/heure ou convertir une valeur vers un format différent.
Prise en charge de la date
Live Query ne peut pas traiter les dates antérieures au 1er janvier 1400.
Live Query représente les dates et les heures au format ISO yyyy-mm-jj HH:MM:SS. Si une valeur DateHeure n'est pas dans ce format, elle sera lue comme une chaîne par Live Query. Pour convertir une colonne en vue de son utilisation et de sa manipulation au format DateHeure, utilisez la fonction DateTimeParse de l'éditeur d'expressions ou l'outil DateHeure.
Certaines fonctions DateHeure vous obligent à définir le format de date. Les chaînes de format consistent en des spécificateurs et des séparateurs.
Spécificateurs
Les spécificateurs commencent toujours par un symbole de pourcentage (%), suivi d’une lettre sensible à la casse. Les données doivent inclure au moins une année à deux chiffres.
Spécificateur | Sortie de DateTimeFormat | Entrée prise en charge avec DateTimeParse |
|---|---|---|
%a | Nom abrégé du jour de la semaine (« Lun ») | Toute abréviation valide d'un jour de la semaine (« lun », « mar », « jeu »). Renvoie une erreur uniquement si le texte donné n'est pas un jour de la semaine. Notez qu'Live Query ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
%A | Nom complet du jour de la semaine (« Lundi ») | Nom du jour ou toute abréviation valide d'un jour de la semaine (« lun », « mar », « jeu »). Renvoie une erreur uniquement si le texte donné n'est pas un jour de la semaine. Notez qu'Live Query ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
%b | Nom abrégé du mois (« Sep ») | Toute abréviation valide d'un nom de mois (« Sep », « SEPT. »). Renvoie une erreur uniquement si le texte donné n'est pas le nom d'un mois. |
%B | Nom complet du mois (« Septembre ») | Nom de mois ou toute abréviation valide d'un nom de mois (« Sep », « SEPT. »). Renvoie une erreur uniquement si le texte donné n'est pas le nom d'un mois. |
%c | Date et heure des paramètres régionaux de l'ordinateur. | Non pris en charge |
%C | Nombre représentant le siècle (« 20 ») | Non pris en charge |
%d | Jour du mois (« 01 ») | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
%D | Équivalent de %m/%d/%y | Non pris en charge |
%e | Jour du mois, le 0 initial étant remplacé par un espace (« 1 »). | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
%h | Identique à %b ("Sep") | Toute abréviation valide d'un nom de mois (« Sep », « SEPT. »). Renvoie une erreur uniquement si le texte donné n'est pas le nom d'un mois. |
%H | Heure au format 24 heures, de 00 à 23. | Jusqu'à 2 chiffres pour l'heure, de 0 à 23. Non compatible avec %p ou %P. |
(« i » en majuscules) | Heure au format 12 heures, de 01 à 12. | Jusqu'à 2 chiffres pour l'heure, de 1 à 12. Doit être suivi de %p ou %P. |
%j | Jour de l’année, de 001 à 365 (ou 366 en années bissextiles) | Jour de l’année à 3 chiffres, de 001 à 365 (ou 366 en années bissextiles) |
%k | 24 heures, le zéro au début est une espace, de « 0 » à « 23 ». | Jusqu'à 2 chiffres pour l'heure. |
(la lettre « l » en minuscules) | 12 heures, le zéro au début est une espace, de « 1 » à « 12 ». | Non pris en charge |
%M | Minutes, de 00 à 59 | Jusqu'à 2 chiffres pour les minutes. |
%m | Numéro du mois, de 01 à 12. | Numéro représentant le mois à 1 ou 2 chiffres, de 1 ou 01 à 12. |
%p | « AM » ou « PM » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
%P | « am » ou « pm » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
%S | Secondes, de 00 à 59 | Jusqu'à 2 chiffres pour les secondes. |
%T | Heure en notation 24 heures. Équivalent de %H:%M:%S | Non pris en charge |
%u | Jour de la semaine sous forme de décimale, de 1 à 7, le lundi étant représenté par 1. | Non pris en charge |
%U | Renvoie le numéro de la semaine, de 00 à 53 (le dimanche étant considéré comme premier jour de la semaine). | Non pris en charge |
%w | Jour de la semaine sous forme de nombre, de 0 à 6, le dimanche étant représenté par 0. | Non pris en charge |
%W | Renvoie le numéro de la semaine, de 00 à 53 (le lundi étant considéré comme premier jour de la semaine). | Non pris en charge |
%x | Date des paramètres régionaux de l'ordinateur. | Non pris en charge |
%X | Heure de l'horloge au format 12 heures, incluant AM ou PM (« 11:51:02 AM »). | Heures:Minutes:Secondes [AM / PM] |
%y | Deux derniers chiffres de l'année (« 16 »). | 4 chiffres maximum peuvent être lus. La lecture s'arrête à la fin de la chaîne ou dès la détection d'un séparateur. Les chiffres sont ensuite associés à une plage allant de l'année actuelle moins 66 à l'année actuelle plus 33. Par exemple, en 2016, la plage va de 1950 à 2049. Limitation des dates à 6 chiffres Étant donné que jusqu'à 4 chiffres sont lus pour l'année, les formats pour lesquels il n'y a que 2 chiffres sans séparateur, comme un horodateur à 6 chiffres (par exemple, %y%m%d pour des dates ressemblant à 170522 pour le 22 mai 2017), sont toujours lus comme des données à 4 chiffres. Pour contourner cette limitation, vous pouvez...
|
%Y | Les quatre chiffres de l'année (« 2016 »). | 2 ou 4 chiffres sont lus. 2 chiffres sont associés à une plage allant de l'année actuelle moins 66 à l'année actuelle plus 33. Par exemple, en 2016, la plage va de 1950 à 2049. |
%z | Décalage par rapport à l'heure UTC (« -600 »). | Non pris en charge |
%Z | Nom complet du fuseau horaire (« Mountain Daylight Time »). | Non pris en charge |
Séparateurs
Les séparateurs sont insérés entre les spécificateurs date/heure pour former une chaîne de format.
Séparateur | Sortie de DateTimeFormat | Entrée prise en charge avec DateTimeParse* |
|---|---|---|
/ | / | / ou - |
- | - | / ou - |
espace | Une espace | Toute séquence de caractères d'espace vide. |
%n | Une nouvelle ligne | Non pris en charge |
%t | Une tabulation | Non pris en charge |
autre | Autres caractères, tels que virgule, point et deux-points. | Autres caractères, tels que virgule, point et deux-points. |
* Avec DateTimeParse, les barres obliques (/) et les tirets (-) peuvent être utilisés de façon interchangeable. Toutefois, les virgules, deux-points et tous les autres séparateurs doivent correspondre exactement aux données entrantes.
Paramètres de langue
Les éléments suivants sont les valeurs compatibles du paramètre « l » (langue) pris en charge par les fonctions DateTimeFormat et DateTimeParse.
Nom de la langue en anglais | Nom de la langue dans la langue | Code de langue |
|---|---|---|
Anglais | English | fr |
Italien | Italiano | it |
Français | Français | fr |
Allemand | Deutsch | de |
Japonais | 日本語 | ja |
Espagnol | Español | es |
Portugais | Português | pt |
Chinois | 简体中文 | zh |
Outre les valeurs ci-dessus, les valeurs d'au moins 2 caractères commençant par l'une des valeurs ci-dessus sont également acceptées. Par exemple, eng, engl, engli, etc. pour l'anglais ou esp, espa, sp, spa, span, etc. pour l'espagnol.
DateTimeAdd
DateTimeAdd(dt,i,u): ajoute un intervalle spécifique à une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
i : nombre entier positif ou négatif de temps à ajouter ou à soustraire.
u : unité de date/heure, spécifiée entre guillemets (années, mois, jours, heures, minutes ou secondes).
Exemple
DateTimeAdd(DateTimeToday(), -1, "days") renvoie la date d'hier.
DateTimeAdd(DateTimeFirstOfMonth(), 1, "months") renvoie le premier du mois suivant.
DateTimeAdd("2016-01-30", 1, "month") renvoie 2016-02-29 (parce que février n’a pas 30 jours, mais cette année avait un 29 février).
DateTimeAdd("2016-03-30", -1, "month") renvoie 2016-02-29 (parce que février n’a pas 30 jours, mais cette année avait un 29 février).
En savoir plus
Toute fraction de la durée est tronquée. Par exemple, il n'est pas possible d'ajouter « 1,5 heure ». Ajoutez plutôt « 90 minutes ».
L’ajout d’une unité ne modifie pas la valeur des petites unités. Par exemple, l’ajout d’heures ne modifie pas la valeur des minutes ou des secondes. L’ajout de mois ne modifie pas le jour ou l’heure, sauf si le mois résultant ne comprend pas ce jour. Dans ce cas, le système affiche le dernier jour du mois en question.
DateTimeDay
DateTimeDay(dt): renvoie la valeur numérique du jour du mois d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
Exemple
DateTimeDay("2017-03-24 11:43:23")renvoie 24.
DateTimeDiff
DateTimeDiff(dt1,dt2,u): soustrait le deuxième argument du premier et renvoie la différence sous forme de nombre entier. La durée est retournée sous la forme d'un nombre, et non d'une chaîne, dans les unités de temps spécifiées.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
u : unité de date/heure, spécifiée entre guillemets (années, mois, jours, heures, minutes ou secondes).
Exemple
DateTimeDiff("2016-02-15 00:00:00", "2016-01-15 00:00:01", "Months")renvoie 1 (car le début et la fin sont le même jour du mois).
DateTimeDiff("2012-02-29","2011-03-01","years")renvoie 0 (même si 2012-02-29 est 365 jours après 2011-03-01, le 29 février vient avant le 1er mars, par conséquent, « une année » n'est pas encore achevée).
DateTimeDiff("2016-02-14", "2016-01-15", "Months")renvoie 0 (parce que les jours de février sont inférieurs aux jours de janvier.)
DateTimeDiff("2016-02-14 23:59:59", "2016-01-15 00:00:00", "Months")renvoie 0 (même s’il ne manque qu'une seconde pour arriver au jour souhaité)
DateTimeDiff('2017-02-28', '2016-02-29', 'Months')renvoie 11 (même si le 28 février est le dernier jour du mois de février 2017, 28 est moins que 29).
En savoir plus
Pour les différences de mois et d’année, un mois est uniquement pris en considération quand le jour de fin atteint le jour de début, en ignorant l’heure du jour.
Pour la précision des paramètres Jour, Heure, Minute et Seconde, le résultat est calculé avec exactitude, puis les fractions sont tronquées, non arrondies. Par conséquent…
DateTimeDiff(‘2016-01-01 00:59:59’, ‘2016-01-01 00:00:00’, ‘Hours’)est zéro.DateTimeDiff(‘2016-01-01 23:59:59’, ‘2016-01-01 00:00:00’, ‘Days’)est zéro.Les noms de précisions peuvent être abrégés pour ne contenir que leurs trois premiers caractères (« sec » et « min » par exemple) et ne sont pas sensibles à la casse.
Faites attention lorsque vous enregistrez les différences temporelles en secondes. Int32 ne peut enregistrer qu'une différence de 68 ans en secondes ou de 4082 ans en minutes. Vous pouvez utiliser des données de type Double ou Int64 pour conserver les intervalles entre toutes les dates prises en charge.
DateTimeFirstOfMonth
DateTimeFirstOfMonth(): renvoie le premier jour du mois, à minuit.
DateTimeFormat
DateTimeFormat(dt,f,l): convertit des données de date/heure du format ISO en un autre format spécifié (f), dans une langue spécifiée (l), pour une utilisation par une autre application. La sortie générée est un type de données chaîne.
Note
This function isn't available for Live Query for Databricks.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
f : le format dans lequel les données sont converties, exprimé par une chaîne de format.
l : paramètre de langue facultatif. Par défaut, la langue est définie sur celle sélectionnée dans Designer Cloud. Par exemple, si la langue est définie sur Français, la fonction indique DateTimeParse(dt,f,"Français") par défaut.
Exemples
DateTimeFormat([DateTime_Out],"%d-%m-%Y")renvoie 22-04-2008 pour la date du 22 avril 2008 (format ISO : 2008-04-22).
DateTimeFormat([DateTime_Out],"%A","Spanish")renvoie « martes » pour la date ISO 2020-07-14 (où le 14 juillet est un mardi).
DateTimeHour
DateTimeHour(dt): renvoie la partie horaire d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
Exemple
DateTimeHour("2017-03-24 11:43:23")renvoie 11.
DateTimeHour("2017-03-24")renvoie 0, car minuit est l’heure prise en compte quand aucune heure n’est indiquée avec une date.
DateTimeLastOfMonth
DateTimeLastOfMonth(): renvoie le dernier jour du mois en cours, avec l'horloge définie à une seconde avant la fin du jour (23:59:59).
Live Query utilise la date et l'heure auxquelles la formule est analysée pour la première fois. Dans le cadre d’un traitement par lots, cette même heure est utilisée pour chaque nouvel ensemble de données. Cela permet de garantir la cohérence des résultats en cas d'un long processus.
DateTimeMinutes
DateTimeMinutes(dt): renvoie la partie minutes d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées sous la forme d'une colonne sélectionnée ou d'une valeur de date/heure spécifiée entre guillemets.
Exemple
DateTimeMinutes("2017-03-24 11:43:23")renvoie 43.
DateTimeMonth
DateTimeMonth(dt): renvoie la valeur numérique du mois d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
Exemple
DateTimeMonth("2017-03-24 11:43:23")renvoie 3.
DateTimeMonth("11:43:23")renvoie [Null], parce que les données entrantes ne sont pas valides.
DateTimeNow
DateTimeNow() : renvoie la date et l'heure actuelles.
DateTimeParse
DateTimeParse(dt, f): convertit une chaîne de date (string) dans un format (f) et une langue (l) spécifiés au format ISO standard (yyyy-mm-dd HH:MM:SS avec une précision date/heure facultative le cas échéant). Si le format spécifié est moins précis, la sortie est tronquée.
Note
This function isn't available for Live Query for Databricks.
Paramètres
dt: les données de chaîne date/heure, exprimées par un champ sélectionné ou une chaîne de date/heure entre guillemets. Les données entrantes doivent être de type Chaîne et peuvent se présenter dans tout format de date/heure, tant que ce format est conforme à celui que vous définissez pour le paramètre f.f: format des données de chaîne de date entrantes que vous convertissez, exprimées dans une chaîne de format entre guillemets.
Exemple
DateTimeParse("2016/28-03","%Y/%d-%m")renvoie 2016-03-28.DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S')renvoie « 2022-10-04 11:59:57 ». Cette fonction supprime les chiffres de fin.
DateTimeSeconds
DateTimeSeconds(dt): renvoie la partie secondes d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
DateTimeToday
DateTimeToday(): renvoie la date d'aujourd'hui.
Comportement attendu : type de données DateTimeToday
Malgré son nom, DateTimeToday() ne renvoie pas de valeur horaire. Elle renvoie uniquement une date avec la date actuelle. Vous pouvez envelopper la fonction DateTimeToday() dans la fonction ToDateTime() pour renvoyer une valeur de date/heure avec l'heure fixée à minuit du jour en cours :
ToDateTime(DateTimeToday())
DateTimeTrim
DateTimeTrim(dt, f): retire les parties inutiles d'une valeur de date/heure et renvoie la valeur de date/heure modifiée.
Note
This function isn't available for Live Query for Databricks.
Paramètres
dt: données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.f: type d'ajustement. Plusieurs options sont possibles :firstofmonth : ajustement au début du mois (ce qui fait la même chose que « month »).
lastofmonth : ajustement jusqu'à une seconde avant la fin du dernier jour du mois.
year : ajustement à minuit le 1er janvier.
month : ajustement à minuit le premier jour du mois.
day : ajustement au jour (à minuit). Cette option permet de convertir une valeur de date/heure en jour, en remettant l'heure à zéro (pas une date).
hour : ajustement à l'heure.
minute : ajustement à la minute.
Secondes : ajustement aux secondes et aux fractions de seconde de la section Mots-clés des unités de date/heure.
L'ajustement d'une valeur de date/heure n'arrondit pas la valeur renvoyée. Par exemple, l’heure 15:59:59 ajustée à l’heure devient 15:00:00 et non 16:00:00.
Exemple
DateTimeTrim("2016-12-07 16:03:00","year")renvoie 2016-01-01 00:00:00.DateTimeTrim('2016-12-07 11:59:57.99','msec')renvoie 11:59:57.990.DateTimeTrim('2016-12-07 11:59:57.99',4)renvoie 11:59:57.9900.DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')renvoie 11:59:57.123.
DateTimeYear
DateTimeYear(dt): renvoie la valeur numérique de l'année d'une valeur de date/heure.
Paramètres
dt : données de date/heure, exprimées par une colonne sélectionnée ou une valeur de date/heure spécifiée entre guillemets.
Exemple
DateTimeYear("2017-03-24 11:43:23")renvoie 2017.
ToDate
ToDate(x): convertit une chaîne, un nombre ou une valeur de date/heure en une date.
Une chaîne entrante doit être au format YYYY-MM-DD. Par exemple, 2020-10-31.
Un nombre entrant doit être au format de date d'Excel, où le nombre représente le nombre de jours écoulés depuis le 01-01-1900. Par exemple, 7000 correspond au 03-01-1919.
Une valeur de date/heure entrante doit être au format YYYY-MM-DD hh:mm:ss. Par exemple, 2020-10-31 12:00:00.
Exemples
ToDate(2020-10-31) renvoie 2020-10-31 comme date.
ToDate(7000) renvoie 1919-03-01 comme date.
ToDate(2020-10-31 12:00:00) renvoie 2020-10-31 comme date.
ToDateTime
DateTimeTrim(ToDateTime(x), t) : convertit une valeur de chaîne, de nombre ou de date en date/heure. La fonction ToDateTime ne supporte pas une précision supérieure à quelques secondes. Elle limite les valeurs Excel à la représentation des secondes (5 chiffres, jusqu'à 99 999).
Une chaîne entrante doit être au format YYYY-MM-DD hh:mm:ss. Par exemple, 2020-10-31 12:00:00.
Un nombre entrant doit être au format de date/heure d'Excel, où le nombre représente le nombre de jours écoulés depuis le 01-01-1900. Par exemple, 7000.354167 correspond au 03-01-1919 à 8:30 AM.
Exemple
ToDateTime('2020-10-31')renvoie 2020-10-31 00:00:00 comme valeur de date/heure.ToDateTime(7000.354167)renvoie 1919-03-01 08:30:00 comme valeur de date/heure.ToDateTime('2020-10-31 12:00:00')renvoie 2020-10-31 12:00:00 comme valeur de date/heure.