Lade...
 

CX_DATE::DayInWeek

CX_DATE::DayInWeek

Beschreibung:

Diese Funktion gibt die Position des Wochtags eines Datums innerhalb seiner Woche zurück.

Wird der Wochenanfang also in den Locales verändert, so ändert sich auch der Rückgabewert dieser Funktion entsprechend.
Soll der Wochentag an sich, unabhängig des Tages des Wochenanfangs, ermittelt werden, so ist die Woche DayOfWeek zu verwenden.
Für ein undefiniertes bzw. unvollständiges Datum wird standardmäßig "0" zurückgegeben. Für eine Datumsperiode bezieht sich diese Funktion auf ihr Startdatum.

Code-Beispiel:
In dem Beispiel-Programm wird die Position des Wochentages des Tagesdatums "3.10.1990" in seiner Woche berechnet, wobei die Woche am Montag beginnt.

Var(date)                          // deklariere eine Variable 
CreateTransObject(CX_DATE) -> date // generiere das heutige Tagesdatum
"3.10.1990" date Put               // schreibe das neue Datum in das Datumsobjekt
date Call(DayInWeek)               // liefere die Position des Wochentages

Das Ausführen dieses Skriptes erzeugt den Wert "3".

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_DATE oder CX_SPAN_DATE das Datum(-sobjekt)
Stack(Out) Top INTEGER die Wochentag-Position
Funktionsaufruf: Call(DayInWeek)

 

Jeder Wochentag kann dabei jeweils eine von zwei Positionen - je nachdem ob der Montag oder Sonntag mit Hilfe der MA-Funktion FirstDayOfWeekMA als Wochenanfang gesetzt wurde - annehmen.

Werte der Wochentage
Wochentag Wochenanfang am Montag Wochenanfang am Sonntag
Montag 1 2
Dienstag 2 3
Mittwoch 3 4
Donnerstag 4 5
Freitag 5 6
Samstag 6 7
Sonntag 7 1