Die Funktion ecm:addInterval addiert (oder subtrahiert) eine Zeitspanne zu einem (oder von einem) festgelegten Datum. Es wird ein Wert vom Typ Datum zurückgegeben.

Struktur​

ecm:addInterval(Datum, Zeichenkette)

Parameter​

Parameter

Beschreibung

Datum

Der Parameter spezifiziert das Zieldatum. Um das aktuelle Datum als Referenz zu verwenden, geben Sie ​date.Today​ ein.

Zeichenkette

Der Parameter spezifiziert das Intervall, das zum Zieldatum addiert bzw. vom Zieldatum subtrahiert wird. Das Muster der Zeichenkette lautet ​(+|-)xxYxxMxxWxxdxxhxxmxx​, in welchem ​xx​ für eine Zahl steht. Die Buchstaben bezeichnen die vorangegangene Zahl wie folgt:

  • ​Y​ Jahr

  • ​M​ Monat

  • ​W​ Woche

  • ​d​ Tag

  • ​h​ Stunde

  • ​m​ Minute

  • ​s​ Sekunde

Das Plus-Zeichen (​+​) addiert das festgelegte Intervall, Minus (​-​) subtrahiert das festgelegte Intervall vom Datumsparameter.

Hinweis:

Der Wert, der als Datumsparameter genutzt wird, muss das Intervall enthalten, das vom Parameter Zeichenkette festgelegt wird.

Um z.B. 48 Stunden vom Zieldatum zu subtrahieren, muss der als Datumsparameter genutzte Wert die Stunde enthalten

Beispiel

Eine Nachricht wird an alle Kunden versendet, die in den letzten fünf Tagen einen Einkauf getätigt haben. Die Nachricht beinhaltet eine Liste der Produkte, die der Kunde in diesem Zeitraum gekauft hat.

Alle Einkäufe der Kunden sind in einem Pool-Container mit dem Namen ​Einkäufe​ gespeichert. Der Pool-Container ist mit dem Attribut ​Kunden_ID​ verknüpft. Die im Attribut gespeicherte Kunden-ID ist identisch mit dem Schlüssel des Pool-Containers. Da Kunden mehrere Einkäufe tätigen können, ist der Pool-Container nicht Unique.

Die Funktion ecm:addInterval gibt den Wert des heutigen Datums minus fünf Tage zurück:

ecx:formatDate(ecm:addInterval(date.today, '-5d'),'yyyy-MM-dd',ecm:timeZone('Europe/London'),'',false

Der von dieser Funktion zurückgegebene Wert wird anschließend als Parameter in der ecx:filter Funktion genutzt, die alle Einträge zu Einkäufen zurückgibt, die in den letzten fünf Tagen getätigt wurden. Da der Pool-Container nicht Unique ist, fügt eine ​ForEach​-Schleife die Daten in die Nachricht ein. Der ​gesamte Ausdruck in der ​ForEach​-Schleife ist wie folgt aufgebaut:

<%ForEach var="count" items="${ecx:filter(ecx:related('Purchases', user.CustomAttribute['client_ID']), ['Date'], '>=', ecx:formatDate(ecm:addInterval(date.today, '-5d'),'yyyy-MM-dd',ecm:timeZone('Europe/London'),'',false))}"%> <%${count.Article}%> <%/ForEach%>