Dieses Kommando berechnet, ausgehend von einem Startdatum, ein Folgedatum. Für diese Berechnung wird ein JSON-basierter Ausdruck angegeben, der aber mit einer Maske benutzerfreundlich editiert werden kann.
Parameter:
- Ausgangsdatum: Das Datum von dem die Berechnung startet. Der Folgetermin kann nicht gleich dem Ausgangsdatum sein, sondern wir immer NACH dem Ausgangsdatum sein.
- Intervallausdruck: Technische, JSON-basierte Beschreibung des anzuwendenden Intervalls. Siehe folgender Abschnitt.
- Zielfeld: Das Feld, in das das Ergebnisdatum geschrieben wird.
Intervallausdruck:
Der Intervallausdruck beschreibt das anzuwendende Intervall. Er besteht aus mehreren möglichen Feldern. Grundsätzlich sind alle Felder optional, es macht jedoch keinen Sinn gar kein Feld anzugeben. Weiters schließen sich manche Felder gegenseitig aus.
- FROM: Datumswert im Format 2022-01-07 10:30. Beschreibt das frühestmögliche Datum für das Ergebnisdatum. Das Ergebnisdatum kann gleich dem FROM-Datum sein. Ohne die Angabe einer Uhrzeit wird dieses Feld nicht ausgewertet.
- TO: Datumswert im Format 2022-01-07 10:30. Beschreibt das spätestmögliche Datum für das Ergebnisdatum. Das Ergebnisdatum kann gleich dem TO-Datum sein. Ohne die Angabe einer Uhrzeit wird dieses Feld nicht ausgewertet.
- DOM (Day of Month): Beschreibt die Tage des Monats, an denen der Ergebnistermin sein darf. Werte werden als Zahlen angegeben. 1 für den 1. des Monats, 31. für den 31. des Monats. Zusätzlich ist auch "L" möglich, um den Monatsletzten anzugeben. Schließt die Angabe von DOW aus.
- DOW (Day of Week): Beschreibt die Wochentage, an denen der Ergebnistermin sein darf. Werte werden als Zahlen angegeben. 1 für Montag, 7 für Sonntag. Schließt die Angabe von DOM aus.
- MON (Month): Beschreibt die Monate, in denen der Ergebnistermin sein darf. Werte werden als Zahlen angegeben. 1 für Jänner, 12 für Dezember.
- H (Hour): Beschreibt die Stunden, in denen der Ergebnistermin sein darf. Werte werden als Zahlen angegeben. 0-23. Schließt die Angabe von T aus.
- M (Minute): Beschreibt die Minuten, in denen der Ergebnistermin sein darf. Werte werden als Zahlen angegeben. 0-59. Schließt die Angabe von T aus.
- T (Time): Ermöglicht die Angabe einer Zeitspanne und eines Intervalls in Minuten. Z.B.: 12:30-14:57;130 Schließt die Angabe von H und M aus. Ergebnistermin kann an den durch die anderen Ausdrucksteile ermittelten Tagen nur in dieser Zeitspanne stattfinden. Der Ergebnistermin kann auf den Beginn oder das Ende der Zeitspanne fallen. Trennzeichen zum Minutenintervall ist ein Strichpunkt. Das Minutenintervall kann auch mit Kommastelle (Komma = Punkt) angegeben werden. Intervalle werden vom von-Zeitpunkt ab gerechnet.
Angabeformate für DOM, DOW, MON, H, M:
- Als Liste: Kommagetrennt können die jeweilig gewünschten Werte angegeben werden.
- Von-Bis: Getrennt durch einen Bindestrick können Spannen angegeben werden.
- Alle X: Jeden 5. Tag kann durch den Ausdruck */5 angegeben werden.
- Alle: Ein * bezeichnet eine Ausführung an jeder der entsprechenden Einheit. Muss nicht explizit angegeben werden.
Klarstellung zu "Alle X Tage/Stunden/Minuten":
Grundsätzlich arbeitet das Kommando nach dem "Fahrplanmodus". Das Datum, welches für diese Konfiguration relevant ist, bestimmt sich folgendermaßen: Ist ein tägliches Intervall angegeben (T-Bezeichner im JSON), dann ist dies die erste Priorität für "Alle X Stunden/Minuten". Anschließend zieht ein eventuell vorhandenes Von-Datum (FROM-Bezeichner im JSON Ausdruck). Sonst das Ausgangsdatum aus dem Parameter.
Eine Berechnung für "Alle X" berechnet nur den jeweiligen Anteil, d.h. alle 5 Stunden bei einer Ausgangsuhrzeit von 11:03 Uhr bedeutet nur, dass der Stundenanteil auf z.B. 16 Uhr gesetzt wird, nicht automatisch auf 16:03 Uhr.
Beispiele:
- Ausgangsdatum: 24.07.2020 06:00
- Intervallausdruck: {DOW:"1-5",T:"08:00-17:00;60"}
- Ergebnisdatum: 24.07.2020 08:00
- Ausgangsdatum: 24.07.2020 06:00
- Intervallausdruck: {DOM:"L",T:"15:03-17:00;60"}
- Ergebnisdatum: 31.07.2020 15:03
- Ausgangsdatum: 31.07.2020 15:03
- Intervallausdruck: {DOM:"L",T:"15:03-17:00;60"}
- Ergebnisdatum: 31.07.2020 16:03
- Ausgangsdatum: 31.07.2020 17:03
- Intervallausdruck: {DOM:"L",T:"15:03-17:00;60"}
- Ergebnisdatum: 31.08.2020 15:03
- Ausgangsdatum: 31.07.2020 17:03
- Intervallausdruck: {H:"*/2",M:"0"}
- Ergebnisdatum: 31.08.2020 19:00
- Ausgangsdatum: 31.07.2020 17:01
- Intervallausdruck: {MON:"1-4",DOW:"4",H:"1,2",M:"*/3"}
- Ergebnisdatum: 07.01.2021 01:01
- Ausgangsdatum: 31.07.2020 17:01
- Intervallausdruck: {}
- Ergebnisdatum: 31.07.2020 17:02
- Ausgangsdatum: 31.07.2020 17:01
- Intervallausdruck: {T:"16:03-17:10;60"}
- Ergebnisdatum: 31.07.2020 17:03
- Ausgangsdatum: 31.07.2020 17:05
- Intervallausdruck: {T:"16:03-18:10;60"}
- Ergebnisdatum: 31.07.2020 18:03
- Ausgangsdatum: 31.07.2020 17:01
- Intervallausdruck: {T:"17:03-18:03;60"}
- Ergebnisdatum: 31.07.2020 17:03
- Ausgangsdatum: 31.07.2020 17:04
- Intervallausdruck: {T:"17:03-17:10;1.5"}
- Ergebnisdatum: 31.07.2020 17:04:30
- Ausgangsdatum: 19.01.2022 14:19
- Intervallausdruck: {T:"08:00-16:00;5"}
- Ergebnisdatum: 19.01.2022 14:20:00
- Ausgangsdatum: 18.01.2022 14:23
- Intervallausdruck: {DOM:"*/5",T:"08:00-16:00;5"}
- Ergebnisdatum: 18.01.2022 14:25:00
- Ausgangsdatum: 18.01.2022 14:23
- Intervallausdruck: {FROM:"2020-01-01 10:30:00",DOM:"*/5",T:"08:00-16:00;5"}
- Ergebnisdatum: 21.01.2022 08:00:00
- Ausgangsdatum: 04.01.2022 22:30
- Intervallausdruck: {DOM:"4-5",H:"*/5,M:"10"}
- Ergebnisdatum: 05.01.2022 02:10:00
- Ausgangsdatum: 04.01.2022 22:30
- Intervallausdruck: {DOM:"4,5",H:"*/5,M:"10"}
- Ergebnisdatum: 05.01.2022 02:10:00
- Ausgangsdatum: 04.01.2022 22:30
- Intervallausdruck: {FROM:"2022-01-01 00:00:00",DOM:"4,5",H:"*/5",M:"10"}
- Ergebnisdatum: 05.01.2022 00:10:00
- Ausgangsdatum: 21.01.2022 15:59
- Intervallausdruck: {DOW:"1,2,3,4,5",T:"08:00-16:00;5"}
- Ergebnisdatum: 21.01.2022 16:00:00
- Ausgangsdatum: 18.01.2022 14:23
- Intervallausdruck: {FROM:"2022-02-01 10:03:00",H:"*/5",T:"08:01-16:00;5"}
- Ergebnisdatum: 01.02.2022 10:06:00
- Ausgangsdatum: 18.01.2022 14:23
- Intervallausdruck: {FROM:"2022-02-01 10:03:00",H:"*/5"}
- Ergebnisdatum: 01.02.2022 10:03:00
- Ausgangsdatum: 18.02.2022 14:23
- Intervallausdruck: {FROM:"2022-02-01 10:03:00",H:"*/5"}
- Ergebnisdatum: 18.02.2022 15:00:00
- Ausgangsdatum: 04.01.2022 09:58
- Intervallausdruck: {"T":"09:57-11:00;1.5"}
- Ergebnisdatum: 04.01.2022 09:58:30
- Ausgangsdatum: 04.01.2022 10:00
- Intervallausdruck: {"DOM":"1-7","T":"10:00-11:00;8"}
- Ergebnisdatum: 04.01.2022 10:08
- Ausgangsdatum: 19.01.2022 14:19
- Intervallausdruck: {"T":"08:00-16:00;5"}
- Ergebnisdatum: 19.01.2022 14:20
- Ausgangsdatum: 22.01.2022 16:01
- Intervallausdruck: {"DOM":"*/5","T":"08:00-16:00;5"}
- Ergebnisdatum: 27.01.2022 08:00
- Ausgangsdatum: 18.01.2022 14:23
- Intervallausdruck: {"MON":"*/2","DOM":"3","T":"08:00-16:00;5"}
- Ergebnisdatum: 03.03.2022 08:00
- Ausgangsdatum: 21.01.2022 16:01
- Intervallausdruck: {"DOW":"1,2,3,4,5","T":"08:00-16:00;5"}
- Ergebnisdatum: 24.01.2022 08:00
- Ausgangsdatum: 18.03.2022 08:00
- Intervallausdruck: {"MON":"2-1","DOM":"6-31","T":"08:00-14:00;11"}
- Ergebnisdatum: 18.03.2022 08:11
- Ausgangsdatum: 18.03.2022 08:00
- Intervallausdruck: {"MON":"4-1","DOM":"6-31","T":"08:00-14:00;11"}
- Ergebnisdatum: 06.04.2022 08:00
- Ausgangsdatum: 18.03.2022 08:05
- Intervallausdruck: {"DOM":"6-31","H":"*/2"}
- Ergebnisdatum: 18.03.2022 08:06
- Ausgangsdatum: 18.03.2022 08:05
- Intervallausdruck: {"DOM":"6-31","H":"*/2","M":"*/7"}
- Ergebnisdatum: 18.03.2022 08:12
- Ausgangsdatum: 18.03.2022 08:05
- Intervallausdruck:{"T":"16:52-22:00;11"}
- Ergebnisdatum: 18.03.2022 16:52
- Ausgangsdatum: 18.03.2022 16:53
- Intervallausdruck:{"T":"16:52-22:00;11"}
- Ergebnisdatum: 18.03.2022 17:03