getNthWorkingDay

Typ


Versionshinweise


Web Client

check mark

Code

Groovy
Date DateUtils.getNthWorkingDay(int n, Date startDay)

Beschreibung

Ermittelt den n-ten Arbeitstag nach dem übergebenen Startdatum.
Die Definition, welcher Wochentag ein Arbeitstag ist, erfolgt über den PropertyMapper:

ID

Standard-Wert

/de/cursor/util/script/DateUtils$!!$MondayIsWorkingday

true

/de/cursor/util/script/DateUtils$!!$TuesdayIsWorkingday

true

/de/cursor/util/script/DateUtils$!!$WednesdayIsWorkingday

true

/de/cursor/util/script/DateUtils$!!$ThursdayIsWorkingday

true

/de/cursor/util/script/DateUtils$!!$FridayIsWorkingday

true

/de/cursor/util/script/DateUtils$!!$SaturdayIsWorkingday

false

/de/cursor/util/script/DateUtils$!!$SundayIsWorkingday

false

Bewegliche Feiertage werden mit speziellen Konstanten hinterlegt.
Gültige Konstanten sind:

Konstante

Bedeutung

ROSENMONTAG

Rosenmontag

FASTNACHTSDIENSTAG

Fastnachtsdienstag

ASCHERMITTWOCH

Aschermittwoch

GRUENDONNERSTAG

Gründonnerstag

KARFREITAG

Karfreitag

OSTERSONNTAG

Ostersonntag

OSTERMONTAG

Ostermontag

HIMMELFAHRT

Christi Himmelfahrt

PFINGSTSONNTAG

Pfingstsonntag

PFINGSTMONTAG

Pfingstmontag

FRONLEICHNAM

Fronleichnam

BETTAG

Buß- und Bettag

Weitere Feiertage mit festem Datum können im Format "DD.MM." hinterlegt werden.
Als Trennzeichen muss "$!!$" verwendet werden.

Als Standardeinstellung für die Feiertage sind die hessischen Feiertage hinterlegt.

ID

Standard-Wert

/de/cursor/util/script/DateUtils$!!$SysownHolydays

KARFREITAG$!!$OSTERMONTAG$!!$HIMMELFAHRT$!!$PFINGSTMONTAG$!!$FRONLEICHNAM$!!$01.01.$!!$01.05.$!!$03.10.$!!$25.12.$!!$26.12.

Parameter

  • n: Die Anzahl der Tage ab dem gegebenen Starttag.

    • Ein positiver Wert zählt die Tage in die Zukunft.

    • Ein negativer Wert zählt die Tage in die Vergangenheit.

    • Wird die Zahl Null übergeben, wird das aktuelle Datum zurückgegeben, wenn es sich um einen Arbeitstag handelt.

    • Wird die Zahl Null übergeben, wird das Datum des nächsten Arbeitstages zurückgegeben, wenn es sich nicht um einen Arbeitstag handelt.

  • day: Der Starttag, ab dem der n-te Arbeitstag ermittelt werden soll.

Return
Ein Date-Objekt, das den n-ten Arbeitstag repräsentiert.

Beispiele

SQL
INSERT INTO PropertyMapper
( Pk, id, property, propertyValue, propertyType, principal, isCustomizing, CustLayer, Active, CreateDate, CreateUser, UpdateDate, UpdateUser, Status, RightPk, ClientNo, MassData)
VALUES
( 'SysownHolydays', '/de/cursor/util/script/DateUtils$!!$SysownHolydays', '', 'KARFREITAG$!!$OSTERMONTAG$!!$HIMMELFAHRT$!!$PFINGSTMONTAG$!!$FRONLEICHNAM$!!$01.01.$!!$01.05.$!!$03.10.$!!$25.12.$!!$26.12.', 'SYSTEM', '', 0, 'CN', 1, getDate(), 'TECH_USER', getDate(), 'TECH_USER', null, null, null, 0) ;

//=> SQL-Statement, wenn der Eintrag nicht im PropertyMapper steht (also die hessischen Feiertage)