Funkce X++ za běhu data

Poznámka:

Skupiny zájmu komunity se teď přesunuly z Yammer na Microsoft Viva Engage. Pokud se chcete připojit k komunitě Viva Engage a účastnit se nejnovějších diskuzí, vyplňte formulář Žádost o přístup k aplikaci Finance and Operations Viva Engage Community a zvolte komunitu, ke které se chcete připojit.

Tento článek popisuje funkce běhu data.

dayName

Načte název dne v týdnu, který odpovídá číslu.

str dayName(int number)

Parameters

Parametr Popis
Číslo Počet dnů v týdnu.

Návratová hodnota

Den v týdnu určený parametrem čísla.

Poznámky

Platné hodnoty parametru čísla jsou 17. Pondělí je reprezentováno 1, úterým do 2 a neděli do 7.

Example

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

dayOfMth

Vypočítá počet dnů v měsíci pro zadané datum.

int dayOfMth(date date)

Parameters

Parametr Popis
dodání Datum, pro které se má vrátit den v měsíci.

Návratová hodnota

Celé číslo mezi 1 a 31, které označuje den v měsíci pro zadané datum.

Poznámky

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

Vypočítá počet dní v týdnu pro zadané datum.

Poznámka:

Pondělí je reprezentováno 1, úterým do 2 a neděli do 7.

int dayOfWk(date date)

Parameters

Parametr Popis
dodání Hodnota data , která označuje rok, měsíc a den.

Návratová hodnota

Počet zadaných dnů v týdnu.

Example

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

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

denOfYr

Vypočítá počet dní od 1. ledna do zadaného data.

int dayOfYr(date _date)

Parameters

Parametr Popis
_rande Datum, které určuje rok, měsíc a den.

Návratová hodnota

Počet dní od 1. ledna do zadaného data včetně.

Poznámky

1. ledna je 1 a 31. prosince je buď 365 , nebo 366 v závislosti na tom, jestli je rok přestupný rok.

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

Vypočítá poslední datum v měsíci zadaného data.

date endMth(date date)

Parameters

Parametr Popis
dodání Hodnota data , která označuje rok, měsíc a den.

Návratová hodnota

Hodnota data posledního dne v zadaném měsíci.

Poznámky

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

Vytvoří datum na základě tří celých čísel, které označují den, měsíc a rok.

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

Parameters

Parametr Popis
den Celé číslo, které představuje den v měsíci.
month Celé číslo, které představuje měsíc v roce.
rok Celé číslo, které představuje rok, který musí být mezi 1900 a 2154.

Návratová hodnota

Hodnota data , která je založená na hodnotách parametrů dne, měsíce a roku .

Poznámky

Pokud datum není platné, vrátí tato metoda datum 0 (nula, 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

Načte název zadaného měsíce.

str monthName(int number)

Parameters

Parametr Popis
Číslo Počet měsíců.

Návratová hodnota

Název zadaného měsíce.

Poznámky

Platné hodnoty parametru čísla jsou 112. Leden je reprezentován 1 a prosinec do 12.

Example

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

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

mthOfYr

Načte číslo měsíce v roce pro zadané datum.

Poznámka:

Leden je 1, únor je 2 a prosinec je 12.

int mthOfYr(date date)

Parameters

Parametr Popis
dodání Datum, které určuje rok, měsíc a den.

Návratová hodnota

Počet měsíců v roce, pro měsíc, který je reprezentován parametrem data .

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

Načte datum v následujícím měsíci, které nejvíce odpovídá zadanému datu.

date nextMth(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v následujícím měsíci.

Návratová hodnota

Nejbližší shoda se zadaným datem, které se nachází v následujícím měsíci.

Poznámky

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

Načte datum v následujícím čtvrtletí, které nejvíce odpovídá zadanému datu.

date nextQtr(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v následujícím čtvrtletí.

Návratová hodnota

Nejbližší shoda se zadaným datem, které funkce najde v příštím čtvrtletí.

Poznámky

Například nextQtr(31\1\1998) vrátí hodnotu 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

Načte datum v následujícím roce, které nejvíce odpovídá zadanému datu.

date nextYr(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v následujícím roce.

Návratová hodnota

Nejbližší shoda se zadaným datem, které se nachází v následujícím roce.

Poznámky

Například nextyr(29\2\1998) vrátí hodnotu 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;
}

předvMth

Načte datum v předchozím měsíci, které nejvíce odpovídá zadanému datu.

date prevMth(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v předchozím měsíci.

Návratová hodnota

Nejbližší shoda se zadaným datem, které se nachází v předchozím měsíci.

Poznámky

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

Načte datum v předchozím čtvrtletí, které nejvíce odpovídá zadanému datu.

date prevQtr(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v předchozím čtvrtletí.

Návratová hodnota

Nejbližší shoda se zadaným datem, které se nachází v předchozím čtvrtletí.

Poznámky

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

Načte datum v předchozím roce, které nejvíce odpovídá zadanému datu.

date prevYr(date date)

Parameters

Parametr Popis
dodání Datum, které se má shodovat v předchozím roce.

Návratová hodnota

Nejbližší shoda se zadaným datem, které systém najde v předchozím roce.

Poznámky

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

Načte datum relace, pokud je nastavené.

date systemDateGet()

Návratová hodnota

Datum relace, pokud je nastaveno; jinak systémové datum.

Poznámky

Pomocí data a času relace v nabídce Nástroje otevřete stránku Datum a čas relace . Na této stránce můžete nastavit datum relace. Jakmile systém zjistí tuto akci set, následná volání funkce systemDateGet vrátí datum relace. Funkce Today vrátí systémové datum. Tato funkce nepodporuje časová pásma.

Example

Následující příklad ukazuje datum v okně infologu.

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

Změní systémové datum.

date systemDateSet(date _date)

Parameters

Parametr Popis
_rande Nové datum systému.

Návratová hodnota

Nové systémové datum.

Poznámky

Tato funkce nemá vliv na datum relace. Tato metoda změní datum, ale čas je nastavený na 0 (nula).

Example

Následující příklad nastaví systémové datum na dnešní datum.

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

timeNow

Načte aktuální systémový čas.

int timeNow()

Návratová hodnota

Počet sekund, které uplynuly od půlnoci.

Example

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

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

dnes

Načte aktuální datum v systému.

date today()

Návratová hodnota

Aktuální datum.

Example

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

wkOfYr

Vypočítá týden roku, do kterého spadá datum podle specifikace ISO 8601.

int wkOfYr(date _date)

Parameters

Parametr Popis
_rande Datum pro výpočet týdne v roce.

Návratová hodnota

Pořadové číslo týdne, ve které se vyskytuje parametr _date .

Example

Následující příklad kódu porovnává funkci wkOfYr s Global::weekOfYear metoda. Funkce a metoda vytvářejí různé výsledky.

// 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]);
    }
}

Předchozí příklad odešle následující informace do informačního protokolu pro zobrazení. Výstup ukazuje, že mezi wkOfYr a Global::weekOfYear existují rozdíly.

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

rok

Načte rok z hodnoty data .

int year(date _date)

Parameters

Parametr Popis
_rande Datum, ze které se má rok vrátit.

Návratová hodnota

Rok zadaného data.

Poznámky

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