Freigeben über


Daten-Laufzeitfunktionen für X++

Hinweis

Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.

In diesem Artikel werden die Laufzeitfunktionen des Datums beschrieben.

dayName

Ruft den Namen des Wochentags ab, der durch eine Zahl angegeben wird.

str dayName(int number)

Die Parameter

Parameter Description
number Die Anzahl eines Tages in einer Woche.

Rückgabewert

Der Wochentag, der durch den Zahlenparameter angegeben wird.

Bemerkungen

Die gültigen Werte für den Zahlenparameter sind 1 bis 7. Montag wird durch 1, Dienstag um 2 und Sonntag um 7 dargestellt.

Example

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

dayOfMth

Berechnet die Anzahl des Tages im Monat für das angegebene Datum.

int dayOfMth(date date)

Die Parameter

Parameter Description
date Das Datum, für das der Tag im Monat zurückgegeben werden soll.

Rückgabewert

Eine ganze Zahl zwischen 1 und 31, die den Tag des Monats für das angegebene Datum angibt.

Bemerkungen

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

Berechnet die Anzahl von Tagen in der Woche für das angegebene Datum. Anmerkung: Montag wird durch 1, Dienstag um 2 und Sonntag um 7 dargestellt.

int dayOfWk(date date)

Die Parameter

Parameter Description
date Ein Datumswert , der das Jahr, den Monat und den Tag angibt.

Rückgabewert

Die Anzahl des angegebenen Tags in der Woche.

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

Berechnet die Anzahl der Tage zwischen dem 1. Januar und dem angegebenen Datum.

int dayOfYr(date _date)

Die Parameter

Parameter Description
_Datum Ein Datum, das das Jahr, den Monat und den Tag angibt.

Rückgabewert

Die Anzahl der Tage zwischen dem 1. Januar und dem angegebenen Datum einschließlich.

Bemerkungen

Der 1. Januar ist 1, und der 31. Dezember ist entweder 365 oder 366 , je nachdem, ob das Jahr ein Schaltjahr ist.

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

Berechnet das letzte Datum im Monat des angegebenen Datums.

date endMth(date date)

Die Parameter

Parameter Description
date Ein Datumswert , der ein Jahr, einen Monat und einen Tag angibt.

Rückgabewert

Der Datumswert des letzten Tags im angegebenen Monat.

Bemerkungen

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

Erstellt ein Datum basierend auf drei ganzzahligen Zahlen, die den Tag, monat und das Jahr angeben.

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

Die Parameter

Parameter Description
Tag Eine ganze Zahl, die den Tag des Monats darstellt.
Monat Eine ganze Zahl, die den Monat des Jahres darstellt.
Jahr Eine ganze Zahl, die das Jahr darstellt, das zwischen 1900 und 2154 sein muss.

Rückgabewert

Ein Datumswert , der auf den Werten des Tages-, Monats- und Jahresparameters basiert.

Bemerkungen

Wenn das Datum ungültig ist, gibt diese Methode ein Datum von 0 (Null, 1.1.1900) zurück.

Example

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

mthName

Ruft den Namen des angegebenen Monats ab.

str monthName(int number)

Die Parameter

Parameter Description
number Die Anzahl des Monats.

Rückgabewert

Der Name des angegebenen Monats.

Bemerkungen

Die gültigen Werte des Zahlenparameters sind 1 bis 12. Januar wird durch 1 und Dezember bis 12 vertreten.

Example

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

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

mthOfYr

Ruft die Anzahl des Monats im Jahr für das angegebene Datum ab. Anmerkung: Der 1. Januar ist der 2. Februar und der 12. Dezember.

int mthOfYr(date date)

Die Parameter

Parameter Description
date Ein Datum, das ein Jahr, einen Monat und einen Tag angibt.

Rückgabewert

Die Anzahl des Monats im Jahr für den Monat, der durch den Datumsparameter dargestellt wird.

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

Ruft das Datum im folgenden Monat ab, das dem angegebenen Datum am ehesten entspricht.

date nextMth(date date)

Die Parameter

Parameter Description
date Das Datum, das im folgenden Monat übereinstimmen soll.

Rückgabewert

Die nächste Übereinstimmung mit dem angegebenen Datum, das im nächsten Monat gefunden wird.

Bemerkungen

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

Ruft das Datum im folgenden Quartal ab, das dem angegebenen Datum am ehesten entspricht.

date nextQtr(date date)

Die Parameter

Parameter Description
date Das Datum, das im folgenden Quartal übereinstimmen soll.

Rückgabewert

Die nächste Übereinstimmung mit dem angegebenen Datum, das im nächsten Quartal gefunden wird.

Bemerkungen

Beispielsweise gibt nextQtr(31\1\1998)30\4\1998 zurück.

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

Ruft das Datum im folgenden Jahr ab, das dem angegebenen Datum am ehesten entspricht.

date nextYr(date date)

Die Parameter

Parameter Description
date Das Datum, das im folgenden Jahr übereinstimmen soll.

Rückgabewert

Die nächste Übereinstimmung mit dem angegebenen Datum, das im folgenden Jahr gefunden wird.

Bemerkungen

Beispielsweise gibt nextyr(29\2\1998)den Wert 28\2\1999 zurück.

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

Ruft das Datum im vorherigen Monat ab, das dem angegebenen Datum am ehesten entspricht.

date prevMth(date date)

Die Parameter

Parameter Description
date Das Datum, das im vorherigen Monat übereinstimmen soll.

Rückgabewert

Die nächste Übereinstimmung mit dem angegebenen Datum, das im vorherigen Monat gefunden wird.

Bemerkungen

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

Ruft das Datum im vorherigen Quartal ab, das dem angegebenen Datum am ehesten entspricht.

date prevQtr(date date)

Die Parameter

Parameter Description
date Das Datum, das im vorherigen Quartal übereinstimmen soll.

Rückgabewert

Die nächste Übereinstimmung mit dem angegebenen Datum, das im vorherigen Quartal gefunden wird.

Bemerkungen

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

Ruft das Datum im vorherigen Jahr ab, das dem angegebenen Datum am ehesten entspricht.

date prevYr(date date)

Die Parameter

Parameter Description
date Das Datum, das im Vorjahr übereinstimmen soll.

Rückgabewert

Die nächstliegende Übereinstimmung mit dem angegebenen Datum, das im Vorherigen Jahr gefunden wird.

Bemerkungen

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

Ruft das Sitzungsdatum ab, wenn es festgelegt wurde.

date systemDateGet()

Rückgabewert

Das Sitzungsdatum, wenn es festgelegt wurde; andernfalls das Systemdatum.

Bemerkungen

Erwägen Sie die Verwendung von Sitzungsdatum und -uhrzeit im Menü "Extras ", um die Seite "Sitzungsdatum und -uhrzeit " zu öffnen. Diese Seite kann verwendet werden, um das Sitzungsdatum aktiv festzulegen. Nachdem diese Satzaktion vom System erkannt wurde, geben nachfolgende Aufrufe der systemDateGet-Funktion das Sitzungsdatum zurück. Die Heute-Funktion gibt das Systemdatum zurück. Diese Funktion unterstützt keine Zeitzonen.

Example

Das folgende Beispiel zeigt das Datum im Infolog-Fenster.

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

Ändert das Systemdatum.

date systemDateSet(date _date)

Die Parameter

Parameter Description
_Datum Das neue Datum für das System.

Rückgabewert

Das neue Systemdatum.

Bemerkungen

Diese Funktion wirkt sich nicht auf das Sitzungsdatum aus. Diese Methode ändert das Datum, aber die Uhrzeit wird auf 0 (Null) festgelegt.

Example

Im folgenden Beispiel wird das Systemdatum auf das heutige Datum festgelegt.

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

timeNow

Ruft die aktuelle Systemzeit ab.

int timeNow()

Rückgabewert

Die Anzahl der Sekunden, die seit Mitternacht vergangen sind.

Example

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

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

Heute

Ruft das aktuelle Datum im System ab.

date today()

Rückgabewert

Das aktuelle 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

Berechnet die Woche des Jahres, in die ein Datum fällt, gemäß der ISO 8601-Spezifikation.

int wkOfYr(date _date)

Die Parameter

Parameter Description
_Datum Das Datum, für das die Woche des Jahres berechnet werden soll.

Rückgabewert

Die Sequenznummer der Woche, in der der _date-Parameter auftritt.

Example

Im folgenden Codebeispiel wird die wkOfYr-Funktion mit der Global::weekOfYear-Methode verglichen. Die Funktion und die Methode erzeugen unterschiedliche Ergebnisse.

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

Im vorherigen Beispiel wurden die folgenden Informationen zum Anzeigen an den Infolog gesendet. Die Ausgabe zeigt, dass es Unterschiede zwischen wkOfYr und Global::weekOfYear gibt.

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

Jahr

Ruft das Jahr aus einem Datumswert ab.

int year(date _date)

Die Parameter

Parameter Description
_Datum Das Datum, ab dem das Jahr zurückgegeben werden soll.

Rückgabewert

Das Jahr des angegebenen Datums.

Bemerkungen

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