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

  1. Obtenir le jour d'un littéral de date :

    GetDay(#01/02/2025#)

    Résultat : 1

  2. Obtenir le jour d'une chaîne de date avec heure :

    GetDay("02/07/2006 12:57:20")

    Résultat : 2

  3. Obtenir le jour du champ de date d'un destinataire :

    GetDay(|->[OrderDate])

    Si OrderDate = #15/03/2024# :

    Résultat : 15

  4. 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

  1. Obtenir le mois d'un littéral de date :

    GetMonth(#01/02/2025#)

    Résultat : 2 (février)

  2. Obtenir le mois d'une chaîne de date avec heure :

    GetMonth("02/07/2006 12:57:20")

    Résultat : 7 (juillet)

  3. 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"

  4. 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

  1. Obtenir l'année d'un littéral de date :

    GetYear(#01/02/2025#)

    Résultat : 2025

  2. Obtenir l'année d'une chaîne de date avec heure :

    GetYear("02/07/2006 12:57:20")

    Résultat : 2006

  3. 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

  4. 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."

  5. 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

  1. Obtenir le jour de la semaine d'un littéral de date :

    GetDayOfWeek(#01/02/2025#)

    Résultat : 7 (samedi)

  2. 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"
    }

  3. Vérifier si une date tombe un week-end :

    If (GetDayOfWeek(|->[DeliveryDate]) = 1 Or GetDayOfWeek(|->[DeliveryDate]) = 7)
    {
    "Weekend Delivery"
    }
    else
    {
    "Weekday Delivery"
    }

  4. 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

  1. Obtenir l'heure d'une date sans composante horaire (minuit par défaut) :

    GetHour(#01/02/2025#)

    Résultat : 0

  2. Obtenir l'heure d'une chaîne de date/heure :

    GetHour("02/07/2006 12:57:20")

    Résultat : 12

  3. Déterminer le moment de la journée :

    If (GetHour(|->[LoginTime]) < 12)
    {
    "Morning"
    }
    else If (GetHour(|->[LoginTime]) < 17)
    {
    "Afternoon"
    }
    else
    {
    "Evening"
    }

  4. 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

  1. Obtenir les minutes d'une date sans composante horaire (0 par défaut) :

    GetMinute(#01/02/2025#)

    Résultat : 0

  2. 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

  1. Obtenir les secondes d'une date sans composante horaire (0 par défaut) :

    GetSecond(#01/02/2025#)

    Résultat : 0

  2. 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

  1. Calculer l'âge à partir d'une chaîne de date :

    Age("31/01/1973")

    Résultat : 52.8164383561644 (fin 2025)

  2. 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

  3. 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)

  4. 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"
    }

  5. 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

  6. 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

  1. Obtenir la date et l'heure actuelles :

    Now()

    Résultat : Date et heure actuelles (par ex., #25/11/2025 14:30:00#)

  2. Formater la date actuelle :

    FormatDate(Now(), "dd/MM/yyyy")

    Résultat : "25/11/2025" (date actuelle formatée)

  3. Calculer une date 30 jours dans le futur :

    Now() + 30

    Résultat : Date dans 30 jours

  4. 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"

  5. 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"

  6. 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.

  7. 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

  1. 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"

  2. Formater une date en style abrégé :

    FormatDate(|->[DOB], "ddd MMM d")

    Si DOB = #15/03/1985# :

    Résultat : "Fri Mar 15"

  3. Formater en date numérique (style américain) :

    FormatDate(|->[OrderDate], "MM/dd/yyyy")

    Si OrderDate = #25/12/2025# :

    Résultat : "12/25/2025"

  4. Formater en date numérique (style européen) :

    FormatDate(|->[OrderDate], "dd/MM/yyyy")

    Si OrderDate = #25/12/2025# :

    Résultat : "25/12/2025"

  5. Formater en style ISO 8601 :

    FormatDate(Now(), "yyyy-MM-dd")

    Résultat : "2025-11-25"

  6. 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"

  7. Formater avec l'heure (24 heures) :

    FormatDate(Now(), "dd/MM/yyyy HH:mm:ss")

    Résultat : "25/11/2025 14:30:45"

  8. 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"

  9. 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)

  10. 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