CX_DATE::Second
Beschreibung:
Diese Funktion ermittelt den Tag der in der zweiten Woche des Monats des Datums der dem übergebenen Wochentag entspricht. Wir haben es also mit einer 3
stufigen Suche zu tun:- Monat/Jahr des Datums als Ausgangspunkt. (Der Tag spielt keine Rolle)
- Suche die zweite Woche zu diesem Monat/Jahr
- Suche den Tag zum Wochentag in dieser Woche
Wir erhalten also ein Ergebnis, das einer saloppen Beschreibung wie "Der
zweite Mittwoch im Monat" entspricht.
Der
Wochentag wird als Konstante übergeben, wie sie u.a. von der Funktion DayOfWeek
benutzt werden. Siehe hierzu die Wochentag-Tabelle.
Für eine Datumsperiode bezieht sich diese Funktion
Code-Beispiel:
In dem Beispiel-Programm wird der zweite Montag im Monat des
"3.1.1997" ermittelt, wobei der Montag durch eine "0" repräsentiert wird.
Var(date) CreateTransObject(CX_DATE) -> date //
Objekt erzeugen
"3.1.1997" date Put
// Den Wert setzen
0 date Call(Second)
// Hole den zweiten Montag (Konstante: 0) dieses Monats
Als Ergebnis erhält man das Tagesdatum "13.1.1997".
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_DATE oder CX_SPAN_DATE | das Datum(-sobjekt) |
Top-1 | INTEGER | die Nummer des Wochentages | |
Stack(Out) | Top | CX_DATE | der gesuchte Wochentag |