Partager via


Fonctions d’exécution de date X++

Note

Les groupes d’intérêt communautaire 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 spécifié par un nombre.

str dayName(int number)

Paramètres

Paramètre Descriptif
nombre Nombre d’un jour dans une semaine.

Valeur retourné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 Descriptif
date Date à laquelle retourner le jour du mois.

Valeur retourné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 Descriptif
date Valeur de date qui indique l’année, le mois et le jour.

Valeur retourné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 Descriptif
_date Date qui spécifie l’année, le mois et le jour.

Valeur retourné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 Descriptif
date Valeur de date qui indique une année, un mois et un jour.

Valeur retourné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 Descriptif
jour Entier qui représente le jour du mois.
month 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 retourné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 Descriptif
nombre Nombre du mois.

Valeur retourné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 Descriptif
date Date qui spécifie une année, un mois et un jour.

Valeur retourné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 Descriptif
date Date de correspondance dans le mois suivant.

Valeur retourné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 Descriptif
date Date de correspondance au trimestre suivant.

Valeur retournée

Correspondance la plus proche à la date spécifiée trouvée 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 Descriptif
date Date de correspondance dans l’année suivante.

Valeur retourné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 Descriptif
date Date à laquelle correspondre le mois précédent.

Valeur retourné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 Descriptif
date Date de correspondance au trimestre précédent.

Valeur retourné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 Descriptif
date Date de correspondance de l’année précédente.

Valeur retournée

Correspondance la plus proche à la date spécifiée trouvée 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 a été définie.

date systemDateGet()

Valeur retournée

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

Remarques

Envisagez d’utiliser la date et l’heure de session dans le menu Outils pour ouvrir la page Date et heure de session. Cette page peut être utilisée pour définir activement la date de session. Une fois cette action définie détectée par le système, 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 Descriptif
_date Nouvelle date du système.

Valeur retourné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 retourné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 retournée

Date actuelle.

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 Descriptif
_date Date à calculer la semaine de l’année pour.

Valeur retourné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 a envoyé les informations suivantes au Journal des informations pour l’affichage. 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 Descriptif
_date Date à partir de laquelle retourner l’année.

Valeur retournée

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

Remarques

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