Fonctions d’exécution de date X++

Note

Les groupes d’intérêts communautaires sont maintenant passés de Yammer à Microsoft Viva Engage. Pour participer à une communauté Viva Engage et participer aux dernières discussions, renseignez le formulaire Demander l’accès à la communauté Finance et Operations Viva Engage , puis choisissez la communauté que vous souhaitez rejoindre.

Cet article décrit les fonctions d’exécution de date.

dayName

Récupère le nom du jour de la semaine qui correspond à un nombre.

str dayName(int number)

Paramètres

Paramètre Description
Numéro Nombre d’un jour dans une semaine.

Valeur renvoyée

Jour de la semaine spécifié par le paramètre nombre.

Remarques

Les valeurs valides pour le paramètre nombre sont comprises entre 1 et 7. Lundi est représenté par 1, mardi par 2 et dimanche par 7.

Example

static void dayNameExample(Args _arg)
{
    str s = dayName(1);
    print "First day of the week's name is " + s;
    pause;
}

dayOfMth

Calcule le nombre du jour du mois pour la date spécifiée.

int dayOfMth(date date)

Paramètres

Paramètre Description
date Date à laquelle retourner le jour du mois.

Valeur renvoyée

Entier compris entre 1 et 31 qui indique le jour du mois pour la date spécifiée.

Remarques

dayOfMth(31\12\2001) // returns 31.

Example

static void dayOfMthExample(Args _arg)
{
    date d = today();
    int i = dayOfMth(d);

    print "Today's day of the month is " + int2Str(i);
    pause;
}

dayOfWk

Calcule le nombre de jours dans la semaine pour la date spécifiée.

Note

Lundi est représenté par 1, mardi par 2 et dimanche par 7.

int dayOfWk(date date)

Paramètres

Paramètre Description
date Valeur de date qui indique l’année, le mois et le jour.

Valeur renvoyée

Nombre du jour spécifié dans la semaine.

Example

static void dayOfWkExample(Args _arg)
{
    date d = today();
    int i = dayOfWk(d);

    print "Today's day of the week is " + int2Str(i);
    pause;
}

dayOfYr

Calcule le nombre de jours entre le 1er janvier et la date spécifiée.

int dayOfYr(date _date)

Paramètres

Paramètre Description
_date Date qui spécifie l’année, le mois et le jour.

Valeur renvoyée

Nombre de jours compris entre le 1er janvier et la date spécifiée.

Remarques

Le 1er janvier est le 1er janvier et le 31 décembre est soit 365 ou 366 selon que l’année est une année bissextile.

Example

static void dayOfYrExample(Args _arg)
{
    date d = today();
    int i = dayOfYr(d);

    print "Today's day of the year is " + int2Str(i);
    pause;
}

endMth

Calcule la dernière date du mois de la date spécifiée.

date endMth(date date)

Paramètres

Paramètre Description
date Valeur de date qui indique une année, un mois et un jour.

Valeur renvoyée

Valeur de date du dernier jour du mois spécifié.

Remarques

endMth(02\2\1988); //Returns the date 29\2\1988 because 1988 is a leap year.
endMth(02\2\1989); //Returns the date 28\2\1989.

mkDate

Crée une date, basée sur trois entiers qui indiquent respectivement le jour, le mois et l’année.

date mkDate(int day, int month, int year)

Paramètres

Paramètre Description
day Entier qui représente le jour du mois.
mois Entier qui représente le mois de l’année.
année Entier qui représente l’année, qui doit être comprise entre 1900 et 2154.

Valeur renvoyée

Valeur de date basée sur les valeurs des paramètres jour, mois et année .

Remarques

Si la date n’est pas valide, cette méthode retourne une date 0 (zéro, 1/1/1900).

Example

static void mkDateExample(Args _arg)
{
    date d;
    
    // Returns the date 01\01\2005.
    d = mkDate(1, 1, 2005);
    print d;
    pause;
}

mthName

Récupère le nom du mois spécifié

str monthName(int number)

Paramètres

Paramètre Description
Numéro Nombre du mois.

Valeur renvoyée

Nom du mois spécifié.

Remarques

Les valeurs valides du paramètre nombre sont comprises entre 1 et 12. Le 1er janvier et le 12 décembre sont représentés.

Example

static void mthNameExample(Args _arg)
{
    // MthName(6) returns the text string "June".
    str s = mthName(6);

    print "Month name is " + s;
    pause;
}

mthOfYr

Récupère le nombre du mois dans l’année pour la date spécifiée.

Note

Le 1er janvier est le 2 février et le 12 décembre.

int mthOfYr(date date)

Paramètres

Paramètre Description
date Date qui spécifie une année, un mois et un jour.

Valeur renvoyée

Nombre du mois de l’année, pour le mois représenté par le paramètre de date .

Example

static void mthOfYrExample(Args _arg)
{
    int i = mthOfYr(today());

    print "The number of the month in today's date is " + int2Str(i);
    pause;
}

nextMth

Récupère la date du mois suivant qui correspond le plus étroitement à la date spécifiée.

date nextMth(date date)

Paramètres

Paramètre Description
date Date de correspondance dans le mois suivant.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée trouvée dans le mois suivant.

Remarques

nextMth(29\2\1996); //returns 29/03/1996.
nextMth(31\1\1996); //returns 2921996, because 1996 is a leap year.

Example

static void nextMthExample(Args _arg)
{
    date d = nextMth(today());

    print "Closest date next month is "
        + date2Str(d, 2, 2, -1, 2, -1, 4);
    pause;
}

nextQtr

Récupère la date du trimestre suivant qui correspond le plus étroitement à la date spécifiée.

date nextQtr(date date)

Paramètres

Paramètre Description
date Date de correspondance au trimestre suivant.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée que la fonction trouve au trimestre suivant.

Remarques

Par exemple, nextQtr(31\1\1998) retourne 30\4\1998.

Example

static void nextQtrExample(Args _arg)
{
    date d = nextQtr(today());

    print "Closest date next quarter is "
        + date2Str(d, 2, 2, -1, 2, -1, 4);
    pause;
}

nextYr

Récupère la date de l’année suivante qui correspond le plus étroitement à la date spécifiée.

date nextYr(date date)

Paramètres

Paramètre Description
date Date de correspondance dans l’année suivante.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée trouvée dans l’année suivante.

Remarques

Par exemple, nextyr(29\2\1998) retourne 28\2\1999.

Example

static void nextYrExample(Args _arg)
{
    date d = nextYr(today());

    print "Closest date next year is "
        + date2Str(d, 2, 2, -1, 2, -1, 4);
    pause;
}

prevMth

Récupère la date du mois précédent qui correspond le plus étroitement à la date spécifiée.

date prevMth(date date)

Paramètres

Paramètre Description
date Date à laquelle correspondre le mois précédent.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée trouvée dans le mois précédent.

Remarques

prevMth(31\3\1996); // Returns the date 29/02/1996 because 1996 is a leap year.
prevMth(28\2\1998); // Returns the date 28/01/1998.

prevQtr

Récupère la date du trimestre précédent qui correspond le plus étroitement à la date spécifiée.

date prevQtr(date date)

Paramètres

Paramètre Description
date Date de correspondance au trimestre précédent.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée trouvée au trimestre précédent.

Remarques

prevQtr(30\4\1998); // Returns the date 30/01/1998.
prevQtr(29\5\1996); // Returns the date 29/02/1996, because 1996 is a leap year.

prevYr

Récupère la date de l’année précédente qui correspond le plus étroitement à la date spécifiée.

date prevYr(date date)

Paramètres

Paramètre Description
date Date de correspondance de l’année précédente.

Valeur renvoyée

Correspondance la plus proche à la date spécifiée que le système trouve dans l’année précédente.

Remarques

prevYr(29\2\1996); //Returns the date 28/02/1995 because 1996 is a leap year.
prevYr(28\2\1998); //Returns the date 28/02/1997.

systemDateGet

Récupère la date de session, si elle est définie.

date systemDateGet()

Valeur renvoyée

Date de session si elle est définie ; sinon, la date système.

Remarques

Utilisez la date et l’heure de session dans le menu Outils pour ouvrir la page Date et heure de session. Utilisez cette page pour définir la date de session. Une fois que le système détecte cette action de jeu, les appels suivants à la fonction systemDateGet retournent la date de session. La fonction aujourd’hui retourne la date système. Cette fonction ne prend pas en charge les fuseaux horaires.

Example

L’exemple suivant montre la date dans la fenêtre Infolog.

static void Job_systemDateGet(Args _arg)
{
    info( date2Str(
        systemDateGet(),        // X++ language function.
        321,                    // 321 = ymd
        DateDay::Digits2,
        DateSeparator::Hyphen,  // separator1
        DateMonth::Digits2,
        DateSeparator::Hyphen,  // separator2
        DateYear::Digits4
    )
);
/*********** Actual Infolog output
Message (03:46:00 pm)
2012-04-16
***********/
}

systemDateSet

Modifie la date système.

date systemDateSet(date _date)

Paramètres

Paramètre Description
_date Nouvelle date du système.

Valeur renvoyée

Nouvelle date du système.

Remarques

Cette fonction n’affecte pas la date de session. Cette méthode modifie la date, mais l’heure est définie sur 0 (zéro).

Example

L’exemple suivant définit la date système sur la date du jour.

static void systemDateSetExample(Args _arg)
{
    date d = today();
    d = systemDateSet(d);
    print d;
}

timeNow

Récupère l’heure système actuelle.

int timeNow()

Valeur renvoyée

Nombre de secondes passées depuis minuit.

Example

static void timeNowExample(Args _arg)
{
    int i = timeNow();

    print "The number of seconds since midnight is " + int2Str(i);
    pause;
}

aujourd’hui

Récupère la date actuelle sur le système.

date today()

Valeur renvoyée

Date du jour.

Example

static void todayExample(Args _arg)
{
    date d = today();
    
    print "Today's date is " + date2Str(d, 0, 2, -1, 2, -1, 4);
    pause;
}

wkOfYr

Calcule la semaine de l’année dans laquelle une date tombe, selon la spécification ISO 8601.

int wkOfYr(date _date)

Paramètres

Paramètre Description
_date Date à calculer la semaine de l’année pour.

Valeur renvoyée

Numéro de séquence de la semaine dans laquelle se trouve le paramètre _date .

Example

L’exemple de code suivant compare la fonction wkOfYr à la méthode Global ::weekOfYear . La fonction et la méthode produisent des résultats différents.

// X++ job, under AOT > Jobs.
static void WeekTests3Job(Args _args)
{
    int weekNum, i;
    date dateTest;
    str sMessages[];

    //---------------------------------------------
    sMessages[1] = "----- #1.  For Sunday, January 5, 2003 -----";
    dateTest = 512003; // DayMonthYear  format.
    weekNum = wkOfYr(dateTest);
    sMessages[2] = int2str(weekNum) + " = wkOfYr funtion";
    weekNum = Global::weekOfYear(dateTest);
    sMessages[3] = int2str(weekNum) + " = Global::weekOfYear method";
    
    //---------------------------------------------
    sMessages[4] = " ";
    sMessages[5] = "----- #2.  For Wednesday, August 20, 2003 -----";
    dateTest = 2082003;
    weekNum = wkOfYr(dateTest);
    sMessages[6] = int2str(weekNum) + " = wkOfYr funtion";
    weekNum = Global::weekOfYear(dateTest);
    sMessages[7] = int2str(weekNum) + " = Global::weekOfYear method";
    
    //---------------------------------------------
    sMessages[8] = " ";
    sMessages[9] = "----- #3.  For Sunday, December 28, 2003 -----";
    dateTest = 28122003;
    weekNum = wkOfYr(dateTest);
    sMessages[10] = int2str(weekNum) + " = wkOfYr funtion";
    weekNum = Global::weekOfYear(dateTest);
    sMessages[11] = int2str(weekNum) + " = Global::weekOfYear method";
    
    for (i=1; i<= 11; i++)
    {
        Global::info(sMessages[i]);
    }
}

L’exemple précédent envoie les informations suivantes au journal des informations à afficher. La sortie indique qu’il existe des différences entre wkOfYr et Global ::weekOfYear.

Message (01:59:13 pm) ----- 
#1. For Sunday, January 5, 2003 ----- 1 = wkOfYr function 2 = Global::weekOfYear method ----- 
#2. For Wednesday, August 20, 2003 ----- 34 = wkOfYr function 34 = Global::weekOfYear method ----- 
#3. For Sunday, December 28, 2003 ----- 52 = wkOfYr function 1 = Global::weekOfYear method

année

Récupère l’année à partir d’une valeur de date .

int year(date _date)

Paramètres

Paramètre Description
_date Date à partir de laquelle retourner l’année.

Valeur renvoyée

Année de la date spécifiée.

Remarques

year(0221998); //Returns the value 1998.