CX_DATE::DayOfWeek
Beschreibung:
Diese Funktion gibt einen Wert für den Wochentag eines Datums als INTEGER-Konstante zurück. Dieser Konstante kodiert nur den Namen des Wochentags und ist unabhängig davon, ob Montag der erste Tag der Woche ist.
Soll ermittelt werden, der wievielte Tag der Woche im Tagesdatum ist, so ist die Funktion DayInWeek zu verwenden.
Für ein undefiniertes bzw. unvollständiges Datum wird standardmäßig "-1" zurückgegeben. Für eine Datumsperiode bezieht sich diese Funktion auf ihr Startdatum.
Code-Beispiele:
Define(FillWeekDays)
CreateTransCollection(LIST) -> weekDays // Die Liste
Var(today)
CreateTransObject(CX_DATE) -> today // Das heutige Datum als Start- und Endpunkt
//today date Put
Var(i) 1 -> i
1 do{ // Schleife über die nächsten Tage beginnend mit heute
Drop
Var(date) CreateTransObject(CX_DATE,KEEP) -> date // Neues Datum. Default: heutiges Tagesdatum
i date Call(AddDay) // Um i Tage in die Zukunft verschieben
date weekDays Insert // neues Tagesdatum an Liste anhängen
i 1+ -> i // Inkrement
date Call(DayOfWeek)
today Call(DayOfWeek) = ! // Schleifenabbruch, wenn selber Wochentag wie heute
}while
weekDays // Rückgabewerte
;
In dem Beispiel-Programm wird der Wert des Wochentages des Tagesdatums "3.10.1990" berechnet.
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(DayOfWeek) // liefere den Wert des Wochentages
Das Ausführen dieses Skriptes erzeugt den Wert "2". Dies entspricht (s.u.) Mittwoch.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_DATE oder CX_SPAN_DATE | das Datum(-sobjekt) |
Stack(Out) | Top | INTEGER | der Wochentag-Wert |
Funktionsaufruf: Call(DayOfWeek)
Wochentag | Wert |
---|---|
Montag | 0 |
Dienstag | 1 |
Mittwoch | 2 |
Donnerstag | 3 |
Freitag | 4 |
Samstag | 5 |
Sonntag | 6 |