Fonctions DateHeure
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.
Alteryx représente les dates et les heures au format YYYY-MM-DD HH:MM:SS
. Pour plus de précision (jusqu'à 18 chiffres de précision), ajoutez un point et des chiffres supplémentaires après la position des secondes. Par exemple, YYYY-MM-DD HH:MM:SS.fff
. Si une valeur DateHeure n'est pas dans ce format, elle sera lue comme une chaîne par Alteryx. 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.
Format de la date
Certaines fonctions DateHeure obligent à définir le format de date. Les chaînes de format sont composées de spécificateurs et de séparateurs.
Fonctions DateHeure
Reportez-vous aux fonctions DateHeure ci-dessous.
DateTimeAdd
DateTimeAdd(dt,i,u)
: ajoute un intervalle spécifique à une valeur de date/heure.
Paramètres
dt
: données de type date/heure
i
: nombre entier positif ou négatif de temps à ajouter ou à soustraire.
u
: unité de temps, spécifiée entre guillemets à l'aide des mots-clés énumérés dans la section Mots-clés pour les unités de temps.
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).
DateTimeAdd("2016-03-30 01:02:03.000000", 495, "microseconds")
renvoie 2016-03-30 01:02:03.000495.
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.
Cette fonction effectue des calculs comme si le fuseau horaire ne comportait pas de changements d'heure liés à l'heure d'été et à l'heure normale. Cela peut produire des résultats inattendus si votre calcul inclut les dates et heures lorsque l'heure passe de l'heure d'été à l'heure standard ou vice versa. Si la précision du temps réel qui passe est critique, vous devez d'abord convertir vos données en UTC.
DateTimeDay
DateTimeDay(dt)
: renvoie la valeur numérique du jour du mois d'une valeur de date/heure.
Paramètres
dt
: données de type date/heure
Exemple
DateTimeDay("2017-03-24 11:43:23")
renvoie 24.
DateTimeDiff
DateTimeDiff(dt1,dt2,u)
: soustrait le deuxième argument du premier (dt1 – dt 2) et renvoie la différence sous forme d'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 type date/heure
u
: unité de temps, spécifiée entre guillemets à l'aide des mots-clés énumérés dans la section Mots-clés pour les unités de temps.
Exemple
DateTimeDiff("2024-01-18", "2024-01-15", "days")
renvoie 3.
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).
DateTimeDiff('2017-02-28 00:59:59.28139502', '2017-02-28 00:59:59.12383125', 'msecs')
renvoie 157 (pour les millisecondes entre les valeurs date/heure).
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.
Cette fonction effectue des calculs comme si le fuseau horaire ne comportait pas de changements d'heure liés à l'heure d'été et à l'heure normale. Cela peut produire des résultats inattendus si votre calcul inclut les dates et heures lorsque l'heure passe de l'heure d'été à l'heure standard ou vice versa. Si la précision du temps réel qui passe est critique, vous devez d'abord convertir vos données en UTC.
DateTimeFirstOfMonth
DateTimeFirstOfMonth()
: renvoie le premier jour du mois, à minuit.
DateTimeFormat
DateTimeFormat(dt,f,[l],[tz])
: convertit des données de date/heure du format ISO en un autre format spécifié (f), dans une langue spécifiée (l), avec le nom du fuseau horaire (tz), pour une utilisation par une autre application. La sortie générée est un type de données Chaîne. Si le format spécifié est moins précis que les données entrantes, la sortie est tronquée et non arrondie. Par exemple, si vous passez un temps à microsecondes (0,012789) et que le format spécifie le temps à millisecondes, le résultat est tronqué à 0,012 plutôt qu'arrondi à 0,013. Le paramètre optionnel fuseau horaire vous permet de contrôler le style du texte ajouté à la chaîne (par exemple, « EDT »).
Paramètres
dt
: données de type date/heure
f
: le format dans lequel les données sont converties, exprimé par une chaîne de format. Consultez la section Spécificateurs ci-dessous.
l
: paramètre de langue facultatif. Par défaut, la langue que vous avez choisie dans Designer est sélectionnée. Par exemple, si Designer est défini sur Français, la fonction indique DateTimeParse(dt,f,"Français") par défaut. Veuillez noter que si vous omettez ce paramètre, la fonction utilise l'anglais quelle que soit la langue de votre interface Designer. Accédez à Paramètres de langue pour obtenir la liste des valeurs de langue acceptées.
tz
: paramètre de fuseau horaire facultatif. Veuillez noter que les données ne sont pas converties. Il s'agit simplement de guider le style du texte ajouté à la chaîne.
L'identificateur de fuseau horaire détermine le décalage à afficher si vous utilisez l'instruction de format de décalage (%z) ou pour obtenir un nom pour le fuseau horaire à afficher si vous utilisez l'instruction de format de nom de fuseau horaire (%Z).
Le nom du fuseau horaire préserve le style de l'argument : court (comme EST), long (comme Eastern Standard Time), générique (comme ET), ou spécifique (comme EST/EDT).
Le nom est modifié pour correspondre à la saison correcte pour les données. Par exemple, si tz est défini sur EST pour 2024-08-15, il est corrigé en EDT. De même, pour 2024-01-15, si tz est défini sur EDT, il est corrigé en EST. Pour ces deux exemples, si tz est défini sur un ET générique, il n'est pas modifié pour indiquer s'il s'agit de l'heure d'été ou de l'heure standard.
Si le tz n'est pas défini dans l'appel de fonction, le fuseau horaire du système est utilisé.
Exemple
DateTimeFormat('2008-04-22',"%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).
DateTimeFormat('11:59:57.890994389','%H:%M:%S.%5')
renvoie « 11:59:57.89099 » (troncation à 5 chiffres de précision en fonction des chiffres spécifiés).
DateTimeFormat('11:59:57.99','%H:%M:%S,%3')
Renvoie '11:59:57,990' (vous pouvez obtenir le séparateur décimal de vos paramètres locaux. Dans cet exemple, nous utilisons une virgule au lieu d'un point décimal).
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'ET')
renvoie « Mar 10, 24 01:00:00 ET ». Le style de l'argument de fuseau horaire est court et générique, donc il est utilisé dans le résultat.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'EDT')
renvoie « Mar 10, 24 01:00:00 EST ». Le style de l'argument de fuseau horaire est court et spécifique. Il est incorrect pour l'heure des données. Le résultat comprend le décalage horaire spécifique corrigé.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Time')
renvoie « Mar 10, 24 01:00:00 Eastern Time ». Le style est conservé et aucun décalage ne doit être corrigé.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Daylight Time')
renvoie « Mar 10, 24 01:00:00 Eastern Standard Time ». Le décalage de fuseau horaire est corrigé.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %z', '', 'ET')
renvoie « Mar 10, 24 01:00:00 -0400 ».
DateTimeHour
DateTimeHour(dt)
: renvoie la partie horaire d'une valeur de date/heure.
Paramètres
dt
: données de type date/heure
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).
Designer utilise la date et l'heure auxquelles le workflow commence à s'exécuter. 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 date/heure.
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 type date/heure
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.
Date et heure actuelles
DateTimeNow([tz])
: renvoie la date et l'heure actuelles du système en secondes. Si vous indiquez le paramètre facultatif du fuseau horaire (TZ), l'heure renvoyée correspond à ce fuseau horaire. Si vous ne fournissez pas de fuseau horaire, l'heure renvoyée utilise le fuseau horaire de votre système.
Paramètres
tz
(facultatif) : fournir un fuseau horaire pour l'heure renvoyée. Si il est fourni, l'heure renvoyée utilise ce fuseau horaire. Si il est omis, l'heure renvoyée utilise le fuseau horaire de votre système.
DateTimeNowPrecise
DateTimeNowPrecise(digits,[tz])
: renvoie la date et l'heure actuelles du système avec des fractions de seconde (jusqu'à 18 chiffres de précision). Si vous indiquez le paramètre facultatif du fuseau horaire (TZ), l'heure renvoyée correspond à ce fuseau horaire. Si vous ne fournissez pas de fuseau horaire, l'heure renvoyée utilise le fuseau horaire de votre système.
Remarque : si vous demandez une précision au-delà des capacités de votre système d'exploitation, cette fonction remplit le reste avec des zéros, comme dans le deuxième exemple ci-dessous.
Paramètres
Chiffres
: spécifiez la précision de la valeur renvoyée, entre 0 et 18 (inclus).
tz
(facultatif) : fournir un fuseau horaire pour l'heure renvoyée. Si il est fourni, l'heure renvoyée utilise ce fuseau horaire. Si il est omis, l'heure renvoyée utilise le fuseau horaire de votre système.
Exemple
DateTimeNowPrecise(3)
renvoie « 2022-10-14 11:59:57.991 ».
DateTimeNowPrecise(12)
renvoie « 2022-10-14 11:59:57.991238400000 ».
DateTimeParse
DateTimeParse(string,f,[l],[tzName])
: convertit une chaîne de date (string) dans un format (f) et une langue (l) et un fuseau horaire (tzName) 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.
Paramètres
Chaîne
: données de la chaîne date-heure. 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.
Fuseaux horaires
Si le format entrant inclut %z ou %Z, Alteryx connaît le fuseau horaire d'entrée. Il convertit la valeur du résultat DateHeure dans le fuseau horaire local ou spécifié. Si le format ou les données ne contiennent pas d'informations de fuseau horaire, Alteryx suppose que l'entrée se trouve déjà dans le fuseau horaire local et n'applique aucun décalage horaire.
Examinez vos données et prenez les mesures appropriées pour vous assurer que votre sortie est dans le format que vous attendez. Pour des considérations importantes sur le fuseau horaire, consultez la section Fuseau horaire et Changements d'heure d'été/heure standard.
l
: (facultatif) langue des données de chaîne de date entrantes que vous convertissez. Par défaut, le paramètre de langue est défini sur la langue sélectionnée dans Designer en éditant les formules. S'il est omis ou vide, « Anglais » est utilisé. Par exemple, si Designer est défini sur Français, la fonction indique DateTimeParse(string,f,"Français") par défaut. Consultez la section Paramètres de langue pour connaître les valeurs de langue prises en charge.
tz
(facultatif) : le fuseau horaire vers lequel convertir les données si %z ou %Z est dans le format et que le texte contient le nom d'un fuseau horaire ou un décalage. Les exemples aideront à clarifier ce point. Si le fuseau horaire est omis, le fuseau horaire du système est utilisé pour la conversion.
Exemple
DateTimeParse("2016/28-03","%Y/%d-%m")
renvoie 2016-03-28.
DateTimeParse('mardi 14 juillet 2020', '%A %d %B %Y', 'Français')
renvoie 2020-07-14, où la chaîne de date entrante est « mardi 14 juillet 2020 » (en français).
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.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S.%3')
renvoie « 2022-10-04 11:59:57.990 ». Cette fonction ajoute des zéros pour correspondre au format %3.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S,%3')
renvoie [Null] ainsi qu'un avertissement indiquant que « , » était attendu au lieu de « . ».
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T %Z')
renvoie « 2024-03-10 04:00:00 » si le fuseau horaire local est l'Est.
DateTimeParse('Mar 12, 24 01:00:00 PST', '%b %d, %y %T %Z')
renvoie « 2024-03-12 05:00:00 » si le fuseau horaire local est l'Est, car l'heure de l'Est a déjà été modifiée en EDT (Eastern Daylight Time).
DateTimeParse('Mar 10, 24 01:00:00', '%b %d, %y %T %Z')
renvoie « 2024-03-10 01:00:00 » si le fuseau horaire local est l'Est. Même si le format demandait des informations sur le fuseau horaire, aucune n'était présente dans les données. Sans connaître le fuseau horaire des entrées de données, aucune conversion n'est effectuée.
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T')
renvoie « 2024-03-11 01:00:00 ». Comme dans l'exemple ci-dessus, si le format ne demande pas d'utiliser les informations de fuseau horaire, toutes les données qui pourraient avoir des données de fuseau horaire sont ignorées.
DateTimeQuarter
DateTimeQuarter(dt, [Q1Start]
: renvoie la valeur numérique du trimestre de l'année qui contient une valeur date/heure (YYYY-MM-DD). Utilisez le paramètre numérique facultatif pour indiquer le mois de début du premier trimestre (Q1).
Paramètres
dt
: données de type date/heure
Q1Start
: paramètre numérique facultatif pour indiquer le mois de début du premier trimestre (1 à 12).
Exemple
DateTimeQuarter("2023-01-03")
renvoie 1. Aucune erreur ne se produit, car le deuxième paramètre est facultatif.
DateTimeQuarter("2023-05-03", 1)
renvoie 2.
DateTimeQuarter("2023-05-03", 7)
renvoie 4. Le paramètre facultatif indique que le premier trimestre commence en juillet.
DateTimeQuarter("2023-05-03 12:04:55", 7)
renvoie 4. Le paramètre facultatif indique que le premier trimestre commence en juillet, et l'horodatage est ignoré.
DateTimeQuarter("2023-01-03", 13)
Renvoie Null. Le deuxième paramètre doit être une valeur numérique comprise entre 1 et 12.
DateTimeQuarter("2023-01-03", 0)
Renvoie Null. Le deuxième paramètre doit être une valeur numérique comprise entre 1 et 12.
DateTimeQuarter("2023-01-03", -1)
Renvoie Null. Le deuxième paramètre doit être une valeur numérique comprise entre 1 et 12.
DateTimeQuarter("12:00:55")
Renvoie Null.
DateTimeSeconds
DateTimeSeconds(dt)
: renvoie la partie en secondes de l'heure dans une valeur de date/heure, et toute valeur inférieure à la seconde, le cas échéant.
Paramètres
dt
: données de type date/heure
Exemple
DateTimeSeconds('11:59:57.99')
renvoie 57,99.
DateTimeSeconds('11:59:57')
renvoie 57.
DateTimeStart
DateTimeStart()
: renvoie la date et l'heure auxquelles le workflow en cours a commencé à s'exécuter, en utilisant le fuseau horaire de votre système.
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())
DateTimeToLocal
DateTimeToLocal(dt,[tz])
: convertit une date-heure UTC en argument tz facultatif, sinon en fuseau horaire du système local. La fonction DateTimeToLocal prend désormais en charge la précision date et heure dans le champ dt pour le moment.
Note
Le résultat n'a aucune indication sur son fuseau horaire. Vous devez utiliser DateTimeFormat ou modifier le résultat sous forme de chaîne pour indiquer le fuseau horaire si vous le souhaitez. Si vous utilisez DateTimeFormat, l'argument tz doit être un nom pour le même tz utilisé dans la conversion. Il pourrait utiliser un style différent comme EST, ou Eastern Daylight Time, ou America/New_York, ou « -0400 ». Pour des considérations importantes sur le fuseau horaire, consultez la section Fuseau horaire et Changements d'heure d'été/heure standard.
Paramètres
dt
: données de type date/heure
tz
: il s'agit d'un paramètre de fuseau horaire facultatif pour convertir les données date-heure en. Si le tz n'est pas défini dans l'appel de fonction, le fuseau horaire du système est utilisé.
Exemple
DateTimeToLocal('2014-08-01 20:01:25')
convertit le fuseau horaire du système local (heure des Rocheuses) au format « 2014-08-01 14:01:25 ».
DateTimeToLocal('2024-08-15 09:00:00.123')
convertit l'heure UTC en heure système, qui peut être America/New_York, renvoie « 2024-08-15 05:00:00.123 », ou ce peut être America/Denver, renvoie « 2024-08-03:00:00.123 ».
DateTimeToLocal('2024-08-15 09:00:00.123', 'EST')
convertit l'heure UTC en heure d'été de l'Est, même si l'heure spécifiée est l'heure standard. La spécification heure d'été/standard est ignorée lors de la recherche du fuseau horaire pour la conversion, donc cela renvoie « 2024-08-15 05:00:00.123 ».
DateTimeToUTC
DateTimeToUTC(dt,[tz])
: convertit les données de date/heure (du fuseau horaire du système local du fuseau horaire fourni) en UTC. La date-heure d'entrée est supposée être dans le fuseau horaire donné, ou dans le fuseau horaire du système sur lequel le workflow est exécuté. La fonction DateTimeToUTC prend désormais en charge la précision date et heure dans le champ dt pour le moment.
Note
Le résultat n'a aucune indication qu'il est en UTC. Vous devez utiliser DateTimeFormat ou modifier le résultat sous forme de chaîne pour indiquer le fuseau horaire si vous le souhaitez. Si vous utilisez DateTimeFormat, l'argument tz doit être un nom pour le même tz utilisé dans la conversion. Il pourrait utiliser un style différent comme UTC, GMT ou Z, ou « +0000 ». Pour des considérations importantes sur le fuseau horaire, consultez la section Fuseau horaire et Changements d'heure d'été/heure standard.
Paramètres
dt
: données de type date/heure
tz
: paramètre de fuseau horaire facultatif. Si le tz n'est pas défini dans l'appel de fonction, le fuseau horaire du système est utilisé.
Exemple
DateTimeToUTC(DateTimeNow())
renvoie le temps universel coordonné à l'exécution du workflow : 2014-08-01 20:01:25 (où l'heure locale des Rocheuses était 2014-08-01 14:01:25).
DateTimeToUTC('2024-08-15 09:00:00.123')
convertit l'heure en UTC à partir de l'heure système, qui peut être America/New_York, renvoyant « 2024-08-15 13:00:00.123 », ou America/Denver, renvoyant « 2024-08-15:00:00.123 ».
DateTimeTrim
DateTimeTrim(dt,t)
: supprime les portions non souhaitées d'une valeur de date/heure et renvoie la valeur de date/heure modifiée.
Paramètres
dt
: données de type date/heure
t
: type d’ajustement. Les options incluent...
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.Jour
: 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 2016-12-07 11:59:57.990.
DateTimeTrim('2016-12-07 11:59:57.99',4)
renvoie 2016-12-07 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 type date/heure
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.
Exemple
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
ToDateTime(x)
: convertit une chaîne, un nombre ou une date en une valeur de 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.
Référence des fonctions Date/Heure
Reportez-vous à ces spécificateurs, séparateurs, mots-clés et paramètres de langue pour les utiliser dans les fonctions date-heure.
Spécificateurs
Les spécificateurs commencent toujours par un symbole de pourcentage (%), suivi d'un nombre ou d'une lettre sensible à la casse. Les données doivent inclure au moins une année à deux chiffres.
Astuce
Si vous préférez afficher une liste alphabétique, vous pouvez le faire ci-dessous.
Spécificateur | Sortie de DateTimeFormat | Entrée prise en charge avec DateTimeParse |
---|---|---|
Année | ||
| Deux derniers chiffres de l'année (« 16 »). | 4 chiffres 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...
|
| Les quatre chiffres de l'année (« 2016 »). | Deux ou quatre chiffres sont lus. Deux chiffres sont associés à une plage allant de l'année actuelle moins 66 à l'année actuelle plus 33. Par exemple, en 2024, la plage va de 1958 à 2057. |
Mois | ||
| 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 (dans la langue spécifiée). |
| 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 (dans la langue spécifiée). |
| Nom abrégé du mois 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. |
| Numéro du mois, de 01 à 12. | Numéro représentant le mois à 1 ou 2 chiffres, de 1 ou 01 à 12. |
Semaine | ||
| 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 |
| 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 |
Jour de l'année/du mois | ||
| Jour du mois (« 01 ») | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
| Jour du mois, le 0 initial étant remplacé par un espace (« 1 »). | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
| 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) |
Jour de la semaine | ||
| 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’Alteryx ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
| 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’Alteryx ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
| Jour de la semaine sous forme de décimale, de 1 à 7, le lundi étant représenté par 1. | Non pris en charge |
| Jour de la semaine sous forme de nombre, de 0 à 6, le dimanche étant représenté par 0. | Non pris en charge |
Heure, minute, seconde | ||
| Heure au format 24 heures, de 00 à 23. | Jusqu'à 2 chiffres pour l'heure, de 0 à 23. Non compatible avec %p ou %P. |
| Heure au format 12 heures, de 01 à 12. | Jusqu'à 2 chiffres pour l'heure, de 1 à 12. Doit être suivi de %p ou %P. |
| 24 heures, le zéro au début est une espace, de « 0 » à « 23 ». | Jusqu'à 2 chiffres pour l'heure. |
| Minutes, de 00 à 59 | Jusqu'à 2 chiffres pour les minutes. |
| Secondes, de 00 à 59 | Jusqu'à 2 chiffres pour les secondes. |
Divers | ||
| Nombre de chiffres de précision pour les sous-secondes. | Jusqu'à 18 chiffres de précision pour les sous-secondes. |
| Date et heure des paramètres régionaux de l'ordinateur. | Non pris en charge |
| Nombre représentant le siècle (« 20 ») | Non pris en charge |
| Équivalent de %m/%d/%y | Non pris en charge |
| 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. |
| 12 heures, le zéro au début est une espace, de « 1 » à « 12 ». | Non pris en charge |
| « AM » ou « PM » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
| « am » ou « pm » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
| Heure en notation 24 heures. Équivalent de %H:%M:%S | Heure en notation 24 heures. Équivalent de %H:%M:%S |
| Date des paramètres régionaux de l'ordinateur. | Non pris en charge |
| Heure de l'horloge au format 12 heures, incluant AM ou PM (« 11:51:02 AM »). | Heures:Minutes:Secondes [AM / PM] |
| Décalage par rapport à l'heure UTC (« -600 »). | Prise en charge pour l'entrée. |
| Nom complet du fuseau horaire (« Mountain Daylight Time »). | Prise en charge pour l'entrée. |
Spécificateur | Sortie de DateTimeFormat | Entrée prise en charge avec DateTimeParse |
---|---|---|
| Nombre de chiffres de précision pour les sous-secondes. | Jusqu'à 18 chiffres de précision pour les sous-secondes. |
| 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’Alteryx ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
| 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’Alteryx ne vérifie pas si le nom du jour correspond bien à la date indiquée. |
| 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 (dans la langue spécifiée). |
| 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 (dans la langue spécifiée). |
| Date et heure des paramètres régionaux de l'ordinateur. | Non pris en charge |
| Nombre représentant le siècle (« 20 ») | Non pris en charge |
| Jour du mois (« 01 ») | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
| Équivalent de %m/%d/%y | Non pris en charge |
| Jour du mois, le 0 initial étant remplacé par un espace (« 1 »). | 1 ou 2 chiffres, sans espaces (« 1 » ou « 01 »). |
| Nom abrégé du mois 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. |
| Heure au format 24 heures, de 00 à 23. | Jusqu'à 2 chiffres pour l'heure, de 0 à 23. Non compatible avec %p ou %P. |
| Heure au format 12 heures, de 01 à 12. | Jusqu'à 2 chiffres pour l'heure, de 1 à 12. Doit être suivi de %p ou %P. |
| 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) |
| 24 heures, le zéro au début est une espace, de « 0 » à « 23 ». | Jusqu'à 2 chiffres pour l'heure. |
| 12 heures, le zéro au début est une espace, de « 1 » à « 12 ». | Non pris en charge |
| Minutes, de 00 à 59 | Jusqu'à 2 chiffres pour les minutes. |
| Numéro du mois, de 01 à 12. | Numéro représentant le mois à 1 ou 2 chiffres, de 1 ou 01 à 12. |
| « AM » ou « PM » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
| « am » ou « pm » | Insensible à la casse (« aM » ou « Pm »). Doit suivre %I (« I » majuscule, heure au format 12 heures). |
| Secondes, de 00 à 59 | Jusqu'à 2 chiffres pour les secondes. |
| Heure en notation 24 heures. Équivalent de %H:%M:%S | Heure en notation 24 heures. Équivalent de %H:%M:%S |
| Jour de la semaine sous forme de décimale, de 1 à 7, le lundi étant représenté par 1. | Non pris en charge |
| 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 |
| Jour de la semaine sous forme de nombre, de 0 à 6, le dimanche étant représenté par 0. | Non pris en charge |
| 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 |
| Date des paramètres régionaux de l'ordinateur. | Non pris en charge |
| Heure de l'horloge au format 12 heures, incluant AM ou PM (« 11:51:02 AM »). | Heures:Minutes:Secondes [AM/PM] |
| Deux derniers chiffres de l'année (« 16 »). | 4 chiffres 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...
|
| Les quatre chiffres de l'année (« 2016 »). | Deux ou quatre chiffres sont lus. Deux chiffres sont associés à une plage allant de l'année actuelle moins 66 à l'année actuelle plus 33. Par exemple, en 2024, la plage va de 1958 à 2057. |
| Décalage par rapport à l'heure UTC (« -600 »). | Prise en charge pour l'entrée. |
| Nom complet du fuseau horaire (« Mountain Daylight Time »). | Prise en charge pour l'entrée. |
Séparateurs
Insérez les séparateurs entre les spécificateurs DateHeurevpour 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. |
| Une nouvelle ligne | Non pris en charge |
| 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. |
*DateTimeParse accepte les barres obliques (/) et les traits d'union (-) d'une manière interchangeable. Toutefois, les virgules, deux-points et tous les autres séparateurs doivent correspondre exactement aux données entrantes.
Mots-clés pour les unités de date/heure
Ces mots-clés sont compatibles avec les fonctions DateTimeAdd, DateTimeDiff et DateTimeTrim. Ils ne sont pas sensibles à la casse. Les mots-clés pris en charge pour chaque unité sont séparés par des virgules.
Dans certains cas, les abréviations jusqu'au mot-clé complet sont prises en charge. Ceux-ci sont spécifiés avec upto
dans la liste ci-dessous et vont de l'abréviation acceptable la plus courte au mot-clé complet. Par exemple, pour les secondes, nous acceptons sec
et seconds
, ainsi que tout ce qui se trouve entre les deux, par exemple seco
. Notez que les mots-clés sont en anglais et que la traduction dans d'autres langues n'est pas prise en charge.
Vous pouvez également utiliser des valeurs numériques comme mots-clés pour les sous-secondes, notamment des unités qui ne sont pas spécifiquement mentionnées dans la liste ci-dessous. Par exemple, vous pouvez utiliser le mot-clé « 10 » pour indiquer 10 chiffres de précision.
yea upto years
mon upto months
day, days
hou upto hours
min upto minutes
sec upto seconds
ds, dsec, dsecs, deciseconds, 1
cs, csec, csecs, centiseconds, 2
ms, msec, msecs, milliseconds, 3
us, usec, usecs, microseconds, 6
ns, nsec, nsecs, nanoseconds, 9
ps, psec, psecs, picoseconds, 12
fs, fsec, fsecs, femtoseconds, 15
as, asec, asecs, attoseconds, 18
Pour obtenir des exemples de taille de champ DateHeure avec différentes unités de précision, reportez-vous au tableau suivant :
Nom | Abréviation | Taille DateHeure | Exemple |
---|---|---|---|
Secondes |
| (par défaut) 19* | 2023-02-24 01:23:45 |
Décisecondes (1) |
| 21 (19 + 1 + 1) | 2023-02-24 01:23:45.1 |
Centisecondes (2) |
| 22 (19 + 1 + 2) | 2023-02-24 01:23:45.12 |
Millisecondes (3) |
| 23 (19 + 1 + 3) | 2023-02-24 01:23:45.123 |
Microsecondes (6) |
| 26 (19 + 1 + 6) | 2023-02-24 01:23:45.123456 |
Nanosecondes (9) |
| 29 (19 + 1 + 9) | 2023-02-24 01:23:45.123456789 |
Picosecondes (12) |
| 32 (19 + 1 + 12) | 2023-02-24 01:23:45.123456789012 |
Femtosecondes (15) |
| 35 (19 + 1 + 15) | 2023-02-24 01:23:45.123456789012345 |
Attosecondes (18) |
| 38 (19 + 1 + 18) | 2023-02-24 01:23:45.123456789012345678 |
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 | Anglais | 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.
Dénomination des fuseaux horaires
Il existe de nombreux styles pour nommer les fuseaux horaires. Les noms peuvent être longs (Mountain Time), courts (MT), spécifiques (MDT, MST) ou génériques (MT). L'Internet Assigned Names Authority (IANA) gère une base de données d'informations sur les fuseaux horaires. Son style de nom est Région/Ville (par exemple, Amérique/Los Angeles, Europe/Paris).
Les informations de temps peuvent également être marquées avec leur décalage par rapport au temps universel coordonné (UTC). Par exemple, « 11:31-0500 » est un fuseau horaire qui a 5 heures de retard sur le fuseau horaire UTC (pour le fuseau horaire UTC, il est « 16:31 »). Cette heure peut être Central Daylight Time, Eastern Standard Time, ou Peru Time. Le style IANA est le nom canonique d'un fuseau horaire. D'autres noms peuvent être acceptés selon les paramètres régionaux de l'utilisateur.
Alteryx utilise une bibliothèque largement utilisée (ICU) pour rechercher des informations de fuseau horaire. Si votre workflow fait référence à un fuseau horaire introuvable, le workflow signale une erreur.
Avertissement
Sachez que les noms courts peuvent être ambigus. Par exemple, IST peut être l'heure standard de l'Inde, d'Israël ou de l'Irlande. Par conséquent, soyez prudent avec vos entrées de données.
Alteryx recommande de remplacer les noms de fuseau horaire courts par des noms longs ou de style IANA pour garantir que vos données sont traitées correctement. Vous pouvez utiliser l'outil Rechercher et remplacer pour ce faire.
Pour rechercher un fuseau horaire par nom, si la langue de l'interface Designer est définie sur une langue autre que l'anglais (via Paramètres utilisateur > Langue et région), Alteryx demande d'abord à ICU de rechercher le fuseau horaire en utilisant cette langue. S'il ne parvient pas à trouver le fuseau horaire correspondant à cette langue, Alteryx demande alors à ICU de rechercher le fuseau horaire en anglais. Il arrive que dans certaines régions, les abréviations en anglais soient utilisées même lorsque la langue locale a un nom long pour la zone.
Alteryx tente également de rechercher le nom dans chaque langue prise en charge, en commençant par la langue de l'interface Designer (ou la langue spécifiée dans la fonction).
Astuce
Vous devez connaître les noms utilisés pour les fuseaux horaires dans vos données, et éventuellement utiliser l'outil Rechercher et remplacer pour vous assurer que vous obtenez les noms appropriés pour les fuseaux horaires.
Changements de fuseau horaire et heure d'été/heure standard
Les fuseaux horaires qui comportent des changements d'heure d'été et d'heure standard rencontrent des difficultés pour interpréter les heures proches du passage de l'heure d'été à l'heure standard et vice-versa.
Passer à l'heure d'été
Il y a une heure non valide autour du passage à l'heure d'été. Aux États-Unis, lorsque l'heure standard locale approchait du 10 mars 2024, « 2:00:00 », les horloges ont été avancées d'une heure pour passer au 10 mars 2024, « 3:00:00 », heure d'été locale.
Par conséquent, il n'y a pas eu de « 2024-03-10 02:30:00 Eastern Time », par exemple. Cette heure n'est pas valide ; elle n'existe pas. Pourtant, les bibliothèques Alteryx ne détectent pas ce problème. Si vous convertissez DateTimeToUTC('2024-03-10 02:30:00', 'Eastern Time')
, le code applique le décalage pour l'heure standard (5 heures) et renvoie « 2024-03-10 07:30:00 »
, sans que l'entrée non valide ne soit signalée.
Passer à l'heure standard
Il y a une heure ambigüe autour du passage à l'heure standard. Aux États-Unis, lorsque l'heure d'été locale approche du 3 novembre 2024, « 2:00:00 », les horloges sont reculées d'une heure pour passer au 3 novembre 2024, « 1:00:00 », heure standard locale.
« 2024-11-03 01:30:00 Eastern Time » correspond soit à l'heure standard de l'Est (« Eastern Standard Time »), soit à l'heure d'été de l'Est (« Eastern Daylight Time »). Puisque spécifier EST pour une heure qui est en réalité en heure d'été, ou EDT pour une heure qui est en réalité en heure standard, est une erreur très courante, les bibliothèques ignorent généralement les spécifications relatives aux saisons lorsqu'elles recherchent des informations sur les fuseaux horaires.
Par conséquent, Alteryx ne peut pas changer l'heure ambiguë de Eastern Time en heure UTC en utilisant correctement la saison spécifiée. Il applique le décalage pour l'heure standard (5 heures), que EST ou EDT soit spécifié comme fuseau horaire à utiliser, c'est-à-dire...
DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Daylight Time')
renvoie 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Standard Time')
renvoie 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Time')
renvoie 2024-11-03 06:30:00.
Notes et limitations
Prise en charge de la date
Alteryx Designer ne peut pas traiter les dates antérieures au 1er janvier 1400.
Alteryx prend en charge les dates dans les années de 1400 à 9999. Nous supposons que toutes les dates figurent dans le calendrier grégorien, qui est le calendrier civil actuellement utilisé dans la plupart des pays du monde. Tous les calculs (addition et soustraction) ignorent les secondes intercalaires.