Datum kalkulieren
Dieser Service Task führt Datums- und Zeitberechnungen direkt innerhalb eines BPMN-Prozesses durch. Er unterstützt das Addieren und Subtrahieren von Zeiträumen, die Berechnung von Differenzen zwischen zwei Daten, die Formatierung sowie die Bestimmung von Anfang und Ende einer Zeiteinheit — von Millisekunden bis Jahre.
Nutzen: Datumslogik kann nativ im Prozess abgebildet werden — ohne externe Skripte oder manuelle Berechnung.
Operationen
| Operation | Beschreibung |
|---|---|
add |
Einen Zeitraum zu einem Datum addieren oder subtrahieren. |
difference |
Die Differenz zwischen zwei Daten in einer gewählten Einheit berechnen. |
format |
Ein Datum in ein bestimmtes Format oder eine Locale formatieren. |
now |
Das aktuelle Datum/Uhrzeit zurückgeben. |
startOf |
Den Anfang einer Zeiteinheit bestimmen (z. B. Anfang des Monats). |
endOf |
Das Ende einer Zeiteinheit bestimmen (z. B. Ende des Jahres). |
Eingabeparameter
Gemeinsame Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
operation |
String | Ja | Eine von: add, difference, format, now, startOf, endOf. |
Operation: add
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
date |
String / Zahl | Ja | ISO-Datumsstring oder Unix-Zeitstempel (ms). |
amount |
Zahl | Ja | Anzahl der Einheiten. Negative Werte subtrahieren. |
unit |
String | Ja | millisecond, second, minute, hour, day, week, month, year. |
Operation: difference
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
dateFrom |
String / Zahl | Ja | Startdatum (ISO-String oder Zeitstempel). |
dateTo |
String / Zahl | Ja | Enddatum (ISO-String oder Zeitstempel). |
unit |
String | Nein | Einheit für das Ergebnis. Standard: day. |
Operation: format
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
date |
String / Zahl | Ja | Zu formatierendes Datum. |
pattern |
String | Nein | Token-Muster, z. B. YYYY-MM-DD HH:mm:ss. Standard: YYYY-MM-DD. |
timezone |
String | Nein | Zeitzone. Standard: UTC. |
locale |
String | Nein | Locale-Code (z. B. de-DE, en-US) für Intl-basierte Formatierung. |
Operation: now
Keine zusätzlichen Parameter erforderlich.
Operationen: startOf / endOf
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
date |
String / Zahl | Ja | Referenzdatum. |
unit |
String | Nein | Zeiteinheit. Standard: day. |
Beispiel: 30 Tage addieren
Eingabe:
{
"operation": "add",
"date": "2026-02-14T00:00:00Z",
"amount": 30,
"unit": "day"
}
Ausgabe:
{
"result": "2026-03-16T00:00:00.000Z",
"timestamp": 1773878400000
}
Beispiel: Differenz zwischen zwei Daten
Eingabe:
{
"operation": "difference",
"dateFrom": "2026-01-01T00:00:00Z",
"dateTo": "2026-12-31T23:59:59Z",
"unit": "month"
}
Ausgabe:
{
"difference": 11,
"differenceExact": 11,
"differenceMs": 31535999000
}
Beispiel: Datum formatieren
Eingabe:
{
"operation": "format",
"date": "2026-02-14T08:30:00Z",
"pattern": "DD.MM.YYYY HH:mm",
"locale": "de-DE"
}
Ausgabe:
{
"formatted": "14.02.2026, 08:30",
"iso": "2026-02-14T08:30:00.000Z",
"timestamp": 1771057800000
}
Unterstützte Einheiten
millisecond · second · minute · hour · day · week · month · year
Anwendungsfälle
- Fristen berechnen: Arbeitstage oder Wochen zu einem Erstellungsdatum addieren.
- Überfällige Elemente erkennen: Die Differenz zwischen jetzt und einem Fälligkeitsdatum berechnen.
- Formatierte Daten erzeugen für Dokumente, E-Mails oder Berichte.
- ISO-Wochengrenzen: Anfang und Ende der aktuellen Woche oder des Monats bestimmen.
- Alters- oder Dauerberechnungen: Jahre zwischen zwei Daten ermitteln.