Fonctions de Date
Les fonctions de date effectuent diverses opérations sur les valeurs de date et d'heure, notamment l'extraction de composants individuels (jour, mois, année, heure, minute, seconde), le calcul de l'âge ou de la durée, la récupération de la date et de l'heure actuelles, et le formatage des dates pour l'affichage.
Paramètres de date acceptés
Les fonctions de date acceptent les valeurs de date dans plusieurs formats :
|
Format |
Description |
Exemple |
|---|---|---|
|
Littéral de date |
Date encadrée par des symboles dièse |
#27/06/2006# ou #27/06/06# |
|
Date en chaîne |
Date sous forme de chaîne avec des séparateurs (/, \, -, .) |
"27/06/2006" ou "27-06-2006" |
|
Chaîne avec heure |
Date et heure sous forme de chaîne |
"02/07/2006 12:57:20" |
|
Champ de données |
Référence à un champ contenant une date |
|->[DOB] |
|
Expression |
Toute expression QLingo retournant une date |
AsDate(|->[DateText]) |
Remarque : Le format de la valeur de date dépend des paramètres régionaux. Les produits XMPie utilisent les paramètres régionaux de date de votre ordinateur pour déterminer comment les valeurs de date sont représentées sur votre système. jour/mois/année ou mois/jour/année Les exemples de code et les résultats affichés sur cette page utilisent le format jour/mois/année.
Fonction GetDay
La fonction GetDay extrait le jour du mois d'une expression de date, retournant une valeur de 1 à 31.
Cette fonction retourne un type de données Nombre.
Syntaxe
GetDay(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date à partir de laquelle extraire le jour. |
Exemples
-
Obtenir le jour d'un littéral de date :
GetDay(#01/02/2025#)
Résultat : 1
-
Obtenir le jour d'une chaîne de date avec heure :
GetDay("02/07/2006 12:57:20")
Résultat : 2
-
Obtenir le jour du champ de date d'un destinataire :
GetDay(|->[OrderDate])
Si OrderDate = #15/03/2024# :
Résultat : 15
-
Créer une chaîne de date formatée à partir de composants :
"Day " & AsString(GetDay(|->[EventDate])) & " of the month"
Si EventDate = #22/11/2024# :
Résultat : "Day 22 of the month"
Fonction GetMonth
La fonction GetMonth extrait le mois d'une expression de date, retournant une valeur de 1 (janvier) à 12 (décembre).
Cette fonction retourne un type de données Nombre.
Syntaxe
GetMonth(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date à partir de laquelle extraire le mois. |
Exemples
-
Obtenir le mois d'un littéral de date :
GetMonth(#01/02/2025#)
Résultat : 2 (février)
-
Obtenir le mois d'une chaîne de date avec heure :
GetMonth("02/07/2006 12:57:20")
Résultat : 7 (juillet)
-
Déterminer le trimestre en fonction du mois :
Switch (Ceil(GetMonth(|->[SaleDate]) / 3))
{
case 1:
"Q1"
case 2:
"Q2"
case 3:
"Q3"
case 4:
"Q4"
}Si SaleDate = #15/08/2024# (août) :
Résultat : "Q3"
-
Vérifier si une date correspond à un mois spécifique :
If (GetMonth(|->[BirthDate]) = GetMonth(Now()))
{
"Happy Birthday Month!"
}
else
{
""
}
Fonction GetYear
La fonction GetYear extrait l'année à quatre chiffres d'une expression de date.
Cette fonction retourne un type de données Nombre.
Syntaxe
GetYear(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date à partir de laquelle extraire l'année. |
Exemples
-
Obtenir l'année d'un littéral de date :
GetYear(#01/02/2025#)
Résultat : 2025
-
Obtenir l'année d'une chaîne de date avec heure :
GetYear("02/07/2006 12:57:20")
Résultat : 2006
-
Calculer le nombre d'années depuis une date spécifique :
GetYear(Now()) - GetYear(|->[JoinDate])
Si JoinDate = #15/03/2019# et la date actuelle est #13/06/2025# :
Résultat : 6
-
Créer un avis de droit d'auteur avec l'année en cours :
"Copyright " & AsString(GetYear(Now())) & " Acme Corp."
Résultat : "Copyright 2025 Acme Corp."
-
Vérifier si un événement est dans l'année en cours :
If (GetYear(|->[EventDate]) = GetYear(Now()))
{
"This Year"
}
else
{
"Other Year"
}
Fonction GetDayOfWeek
La fonction GetDayOfWeek retourne le jour de la semaine pour une expression de date sous forme d'un nombre de 1 à 7, où 1 représente dimanche et 7 représente samedi.
Cette fonction retourne un type de données Nombre.
Syntaxe
GetDayOfWeek(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date à partir de laquelle déterminer le jour de la semaine. |
Valeurs des jours de la semaine
|
Valeur |
Jour |
|---|---|
|
1 |
Dimanche |
|
2 |
Lundi |
|
3 |
Mardi |
|
4 |
Mercredi |
|
5 |
Jeudi |
|
6 |
Vendredi |
|
7 |
Samedi |
Exemples
-
Obtenir le jour de la semaine d'un littéral de date :
GetDayOfWeek(#01/02/2025#)
Résultat : 7 (samedi)
-
Convertir le numéro du jour de la semaine en nom :
Switch(GetDayOfWeek(|->[AppointmentDate])
{
case 1: "Sunday"
case 2: "Monday"
case 3: "Tuesday"
case 4: "Wednesday"
case 5: "Thursday"
case 6: "Friday"
case 7: "Saturday"
} -
Vérifier si une date tombe un week-end :
If (GetDayOfWeek(|->[DeliveryDate]) = 1 Or GetDayOfWeek(|->[DeliveryDate]) = 7)
{
"Weekend Delivery"
}
else
{
"Weekday Delivery"
} -
Déterminer si aujourd'hui est un jour ouvrable :
If (GetDayOfWeek(Now()) >= 2 And GetDayOfWeek(Now()) <= 6)
{
"Business Day"
}
else
{
"Weekend"
}
Fonction GetHour
La fonction GetHour extrait l'heure d'une expression de date/heure, retournant une valeur de 0 à 23 (format 24 heures). Si l'expression de date ne contient pas de composante horaire, la fonction retourne 0 (minuit).
Cette fonction retourne un type de données Nombre.
Syntaxe
GetHour(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date/heure à partir de laquelle extraire l'heure. |
Exemples
-
Obtenir l'heure d'une date sans composante horaire (minuit par défaut) :
GetHour(#01/02/2025#)
Résultat : 0
-
Obtenir l'heure d'une chaîne de date/heure :
GetHour("02/07/2006 12:57:20")
Résultat : 12
-
Déterminer le moment de la journée :
If (GetHour(|->[LoginTime]) < 12)
{
"Morning"
}
else If (GetHour(|->[LoginTime]) < 17)
{
"Afternoon"
}
else
{
"Evening"
} -
Obtenir l'heure actuelle :
GetHour(Now())
Si l'heure actuelle est 15h45 :
Résultat : 15
Fonction GetMinute
La fonction GetMinute extrait les minutes d'une expression de date/heure, retournant une valeur de 0 à 59. Si l'expression de date ne contient pas de composante horaire, la fonction retourne 0.
Cette fonction retourne un type de données Nombre.
Syntaxe
GetMinute(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date/heure à partir de laquelle extraire les minutes. |
Exemples
-
Obtenir les minutes d'une date sans composante horaire (0 par défaut) :
GetMinute(#01/02/2025#)
Résultat : 0
-
Obtenir les minutes d'une chaîne de date/heure :
GetMinute("02/07/2006 12:57:20")
Résultat : 57
Fonction GetSecond
La fonction GetSecond extrait les secondes d'une expression de date/heure, retournant une valeur de 0 à 59. Si l'expression de date ne contient pas de composante horaire, la fonction retourne 0.
Cette fonction retourne un type de données Nombre.
Syntaxe
GetSecond(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date/heure à partir de laquelle extraire les secondes. |
Exemples
-
Obtenir les secondes d'une date sans composante horaire (0 par défaut) :
GetSecond(#01/02/2025#)
Résultat : 0
-
Obtenir les secondes d'une chaîne de date/heure :
GetSecond("02/07/2006 12:57:20")
Résultat : 20
Fonction Age
La fonction Age calcule le nombre d'années entre une expression de date et la date/heure actuelle. Le résultat est retourné sous forme de nombre décimal représentant l'âge précis en années. Bien que couramment utilisée pour calculer l'âge d'une personne à partir de sa date de naissance, cette fonction fonctionne avec n'importe quelle date.
Cette fonction retourne un type de données Nombre (décimal).
Syntaxe
Age(dateExpression)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. Une valeur de date représentant la date de départ pour le calcul de l'âge. |
Exemples
-
Calculer l'âge à partir d'une chaîne de date :
Age("31/01/1973")
Résultat : 52.8164383561644 (fin 2025)
-
Calculer l'âge en années entières (utilisation la plus courante) :
Floor(Age(|->[DOB]))
Si DOB = #15/06/1985# et la date actuelle est novembre 2025 :
Résultat : 40
-
Calculer l'âge à partir d'un champ texte converti en date :
Floor(Age(AsDate(|->[BirthDateText])))
Si BirthDateText = "03/22/1990" :
Résultat : 35 (selon la date actuelle)
-
Déterminer la tranche d'âge pour le marketing :
If (Floor(Age(|->[DOB])) < 25)
{
"Young Adult"
}
else If (Floor(Age(|->[DOB])) < 45)
{
"Adult"
}
else If (Floor(Age(|->[DOB])) < 65)
{
"Middle Age"
}
else
{
"Senior"
} -
Calculer les années depuis un événement (par ex., anniversaire client) :
Floor(Age(|->[FirstPurchaseDate]))
Si FirstPurchaseDate = #10/05/2020# et la date actuelle est novembre 2025 :
Résultat : 5
-
Vérifier si une personne a au moins 18 ans :
If (Age(|->[DOB]) >= 18)
{
"Eligible"
}
else
{
"Not Eligible"
}
Astuce : Utilisez Floor(Age(...)) pour obtenir les années entières, ce qui est généralement ce que vous souhaitez pour afficher l'âge d'une personne ou calculer des anniversaires.
Fonction Now
La fonction Now retourne la date et l'heure système actuelles au moment de la composition. Ceci est utile pour les horodatages, le calcul de délais, ou la personnalisation du contenu en fonction de la date actuelle.
Cette fonction retourne un type de données Date.
Syntaxe
Now()
Cette fonction ne prend aucun paramètre.
Exemples
-
Obtenir la date et l'heure actuelles :
Now()
Résultat : Date et heure actuelles (par ex., #25/11/2025 14:30:00#)
-
Formater la date actuelle :
FormatDate(Now(), "dd/MM/yyyy")
Résultat : "25/11/2025" (date actuelle formatée)
-
Calculer une date 30 jours dans le futur :
Now() + 30
Résultat : Date dans 30 jours
-
Créer un message de date d'expiration :
"This offer expires on " & FormatDate(Now() + 14, "MMMM d, yyyy")
Résultat : "This offer expires on December 9, 2025"
-
Ajouter un horodatage au contenu généré :
"Generated: " & FormatDate(Now(), "MM/dd/yyyy HH:mm:ss")
Résultat : "Generated: 11/25/2025 14:30:45"
-
Calculer le nombre de jours jusqu'à un événement :
AsNumber(|->[EventDate]) - AsNumber(Now())
Résultat : Retourne le nombre de jours jusqu'à la date de l'événement.
-
Personnaliser la salutation en fonction du moment de la journée :
If (GetHour(Now()) < 12)
{
"Good morning"
}
else If (GetHour(Now()) < 17)
{
"Good afternoon"
}
else
{
"Good evening"
}
Remarque : La fonction Now() retourne la date et l'heure au moment où le travail est composé. Pour les travaux par lots, tous les destinataires du même travail auront la même valeur Now().
Fonction FormatDate
La fonction FormatDate convertit une date en une chaîne formatée selon un motif spécifié. Cela offre un contrôle complet sur l'affichage des dates, y compris la prise en charge de différents formats de date, les noms de mois et de jours localisés, et divers formats d'heure.
Cette fonction retourne un type de données Chaîne.
Syntaxe
FormatDate(dateExpression, formatString)
|
Paramètre |
Description |
|---|---|
|
dateExpression |
Obligatoire. La valeur de date à formater. |
|
formatString |
Obligatoire. Une chaîne de motif qui définit le format de sortie à l'aide de spécificateurs de format. |
Spécificateurs de format
Spécificateurs de jour
|
Spécificateur |
Description |
Exemple |
|---|---|---|
|
d |
Jour du mois sans zéro initial |
1, 15, 31 |
|
dd |
Jour du mois avec zéro initial |
01, 15, 31 |
|
ddd |
Nom du jour abrégé |
Mon, Tue, Wed |
|
dddd |
Nom du jour complet |
Monday, Tuesday, Wednesday |
Spécificateurs de mois
|
Spécificateur |
Description |
Exemple |
|---|---|---|
|
M |
Mois sans zéro initial |
1, 6, 12 |
|
MM |
Mois avec zéro initial |
01, 06, 12 |
|
MMM |
Nom du mois abrégé |
Jan, Jun, Dec |
|
MMMM |
Nom du mois complet |
January, June, December |
Spécificateurs d'année
|
Spécificateur |
Description |
Exemple |
|---|---|---|
|
y |
Année sans siècle (1 chiffre si possible) |
5, 25 |
|
yy |
Année sans siècle (2 chiffres) |
05, 25 |
|
yyy |
Année avec minimum 3 chiffres |
025, 2025 |
|
yyyy |
Année à quatre chiffres |
2025 |
Spécificateurs d'heure
|
Spécificateur |
Description |
Exemple |
|---|---|---|
|
h |
Heure (12 heures) sans zéro initial |
1, 12 |
|
hh |
Heure (12 heures) avec zéro initial |
01, 12 |
|
H |
Heure (24 heures) sans zéro initial |
0, 13, 23 |
|
HH |
Heure (24 heures) avec zéro initial |
00, 13, 23 |
|
m |
Minute sans zéro initial |
0, 30, 59 |
|
mm |
Minute avec zéro initial |
00, 30, 59 |
|
s |
Seconde sans zéro initial |
0, 30, 59 |
|
ss |
Seconde avec zéro initial |
00, 30, 59 |
Spécificateurs AM/PM
|
Spécificateur |
Description |
Exemple |
|---|---|---|
|
t |
Caractère unique AM/PM (majuscule) |
A, P |
|
tt |
AM/PM complet (majuscule) |
AM, PM |
|
T |
Caractère unique AM/PM (majuscule) |
A, P |
|
TT |
AM/PM complet (majuscule) |
AM, PM |
Exemples
-
Formater une date avec les noms complets de jour et de mois :
FormatDate(#27/06/2006#, "dddd, MMMM dd, yyyy")
Résultat : "Tuesday, June 27, 2006"
-
Formater une date en style abrégé :
FormatDate(|->[DOB], "ddd MMM d")
Si DOB = #15/03/1985# :
Résultat : "Fri Mar 15"
-
Formater en date numérique (style américain) :
FormatDate(|->[OrderDate], "MM/dd/yyyy")
Si OrderDate = #25/12/2025# :
Résultat : "12/25/2025"
-
Formater en date numérique (style européen) :
FormatDate(|->[OrderDate], "dd/MM/yyyy")
Si OrderDate = #25/12/2025# :
Résultat : "25/12/2025"
-
Formater en style ISO 8601 :
FormatDate(Now(), "yyyy-MM-dd")
Résultat : "2025-11-25"
-
Formater avec l'heure (12 heures) :
FormatDate(|->[AppointmentTime], "MMMM d, yyyy h:mm tt")
Si AppointmentTime = #15/03/2025 14:30:00# :
Résultat : "March 15, 2025 2:30 PM"
-
Formater avec l'heure (24 heures) :
FormatDate(Now(), "dd/MM/yyyy HH:mm:ss")
Résultat : "25/11/2025 14:30:45"
-
Créer une description de date relative conviviale :
"Your subscription renews on " & FormatDate(|->[RenewalDate], "MMMM d")
Si RenewalDate = #15/01/2026# :
Résultat : "Your subscription renews on January 15"
-
Formater une date d'expiration pour une offre :
FormatDate(Now() + 30, "MMMM d, yyyy")
Résultat : "December 25, 2025" (30 jours après le 25 novembre)
-
Ajouter des jours à une date et formater le résultat :
"Payment is due by " & FormatDate(|->[InvoiceDate] + 30, "MMMM d, yyyy")
Si InvoiceDate = #15/02/2026# :
Résultat : "Payment is due by March 18, 2026"
Astuce : Tous les caractères de la chaîne de format qui ne sont pas des spécificateurs de format sont inclus littéralement dans le résultat. Utilisez ceci pour ajouter des séparateurs, de la ponctuation ou du texte entre les composants de date.
Rubriques associées
-
Fonctions de conversion - Fonctions de conversion entre types de données (y compris AsDate)
-
Fonctions numériques - Fonctions pour les opérations mathématiques (y compris Floor pour les calculs d'âge)
-
Fonctions Chaînes - Fonctions de manipulation de texte