Datums- und Uhrzeitfunktionen
Variablen
now
Ruft die aktuelle Zeit im Format JJJJ-MM-TT-hhss ab.
Zeitstempel
Ruft die aktuelle Zeit als Unix-Zeitstempel ab.
Funktionen
addSeconds (Datum; Zahl)
Gibt ein neues Datum zurück, nachdem einem Datum eine bestimmte Anzahl von Sekunden hinzugefügt wurde. Um Sekunden abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addSeconds(2016-12-08T15:55:57.536Z;2)
Gibt 2016-12-08T15.:55:.536Z zurück
-
addSeconds(2016-12-08T15:55:57.536Z;-2)
Gibt 2016-12-08T15.:55:.536Z zurück
addMinutes (Datum; Zahl) addminutes-date-number
Gibt ein neues Datum zurück, wenn einem Datum eine bestimmte Anzahl von Minuten hinzugefügt wird. Um Minuten abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addMinutes(2016-12-08T15:55:57.536Z;2)
Gibt 2016-12-08T15.:57:.536Z zurück
-
addMinutes(2016-12-08T15:55:57.536Z;-2)
Gibt 2016-12-08T15.:53:.536Z zurück
addHours (Datum; Zahl) addhours-date-number
Gibt ein neues Datum zurück, wenn einem Datum eine bestimmte Anzahl von Stunden hinzugefügt wird. Um Stunden abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addHours(2016-12-08T15:55:57.536Z; 2)
Gibt 2016-12-08T17.:55:.536Z zurück
-
addHours(2016-12-08T15:55:57.536Z;-2)
Gibt 2016-12-08T13:55:57.536Z zurück
addDays (Datum; Zahl) adddays-date-number
Gibt ein neues Datum zurück, wenn einem Datum eine bestimmte Anzahl von Tagen hinzugefügt wird. Um Tage abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addDays(2016-12-08T15:55:57.536Z;2)
Gibt 2016-12-10T15.:55:.536Z zurück
-
addDays(2016-12-08T15:55:57.536Z;-2)
Gibt 2016-12-6T15:55:57.536Z zurück
addMonths (Datum; Zahl)
Gibt ein neues Datum zurück, wenn einem Datum eine bestimmte Anzahl von Monaten hinzugefügt wird. Um Monate abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addMonths(2016-08-08T15:55:57.536Z;2)
Gibt 2016-10-08T15.:55:.536Z zurück
-
addMonths(2016-08-08T15:55:57.536Z;-2)
Gibt 2016-06-08T15.:55:.536Z zurück
addYears (Datum; Zahl)
Gibt ein neues Datum zurück, wenn einem Datum eine bestimmte Anzahl von Jahren hinzugefügt wird. Um Jahre abzuziehen, geben Sie eine negative Zahl ein.
Beispiele:
-
addYears(2016-08-08T15:55:57.536Z;2)
Gibt 2018-08-08T15.:55:.536Z zurück
-
addYears(2016-12-08T15:55:57.536Z; -2)
Gibt 2014-08-08T15.:55:.536Z zurück
setSecond (Datum; Zahl)
Diese Funktion gibt ein neues Datum mit den in den Parametern angegebenen Sekunden zurück.
Geben Sie eine Zahl zwischen 0 und 59 an. Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion eine Sekunde aus der vorherigen Minute (für eine negative Zahl) oder der nachfolgenden Minute (für eine positive Zahl) zurück.
Wenn Sie eine Zahl außerhalb des Bereichs angeben müssen, empfehlen wir die Verwendung von addSeconds, wie oben im Abschnitt addSeconds (date; number).
Beispiele:
-
setSecond(2015-10-07T11:36:39.138Z;10)
Gibt 2015-10-07T11:36:10.138Z zurück
-
setSecond(2015-10-07T11:36:39.138Z; 61)
Gibt 2015-10-07T11-:37:.138Z zurück
setMinute (Datum; Zahl)
Diese Funktion gibt ein neues Datum mit den in den Parametern angegebenen Minuten zurück.
Geben Sie eine Zahl zwischen 0 und 59 an. Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion eine Minute aus der vorherigen Stunde (für eine negative Zahl) oder der nachfolgenden Stunde (für eine positive Zahl) zurück.
Wenn Sie eine Zahl außerhalb des Bereichs angeben müssen, empfehlen wir, addMinutes zu verwenden, wie oben unter addMinutes (date; number) beschrieben.
Beispiele:
-
setMinute(2015-10-07T11:36:39.138Z;10)
Gibt 2015-10-07T11-:10:.138Z zurück
-
setMinute(2015-10-07T11:36:39.138Z;61)
Gibt 2015-10-07T12.:01:.138Z zurück
setHour (Datum; Zahl)
Diese Funktion gibt ein neues Datum mit der in den Parametern angegebenen Stunde zurück.
Geben Sie eine Zahl zwischen 0 und 23 an. Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion eine Stunde vom vorherigen Tag (für eine negative Zahl) oder nachfolgenden Tag (für eine positive Zahl) zurück.
Wenn Sie eine Zahl außerhalb des Bereichs angeben müssen, empfehlen wir, addHours zu verwenden, wie oben unter addHours (date; number) beschrieben.
Beispiele:
-
setHour(2015-08-07T11:36:39.138Z;6)
Gibt 2015-08-07T06.:36:.138Z zurück
-
setHour(2015-08-07T11:36:39.138;-6)
Gibt 2015-08-06T18.:36:.138Z zurück
setDay (date; number/name of the day in English)
Diese Funktion gibt ein neues Datum mit dem in den Parametern angegebenen Tag zurück.
Mit dieser Funktion können Sie den Wochentag festlegen, wobei „Sonntag“ den Wert „1“ und „Samstag“ den Wert „7“ hat. Wenn Sie eine Zahl zwischen 1 und 7 angeben, liegt das resultierende Datum innerhalb der aktuellen Woche (Sonntag bis Samstag). Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion einen Tag aus der vorherigen Woche (für eine negative Zahl) oder der nachfolgenden Woche (für eine positive Zahl) zurück.
Wenn Sie eine Zahl außerhalb des Bereichs angeben müssen, empfehlen wir die Verwendung von addDays, wie oben unter addDays (date; number) beschrieben.
Beispiele:
-
setDay(2018-06-27T11:36:39.138Z;Monday)
Gibt 2018-06-25T11-:36:.138Z zurück
-
setDay(2018-06-27T11:36:39.138Z;1)
Gibt 2018-06-24T11-:36:.138Z zurück
-
setDay(2018-06-27T11:36:39.138Z;7)
Gibt 2018-06-30T11-:36:.138Z zurück
setDate (date; number)
Diese Funktion gibt ein neues Datum mit dem in den Parametern angegebenen Tag des Monats zurück.
Geben Sie eine Zahl zwischen 1 und 31 an. Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion einen Tag aus dem vorherigen Monat (bei einer negativen Zahl) oder dem nachfolgenden Monat (bei einer positiven Zahl) zurück.
Beispiele:
-
setDate(2015-08-07T11:36:39.138Z;5)
Gibt 2015-08-05T11.:36:.138Z zurück
-
setDate(2015-08-07T11:36:39.138Z;32)
Gibt 2015-09-01T11-:36:.138Z zurück
setMonth (date; number/name of the month in englischer Sprache)
Diese Funktion gibt ein neues Datum mit dem in den Parametern angegebenen Monat zurück.
Geben Sie eine Zahl zwischen 1 und 12 an. Wenn die Zahl außerhalb dieses Bereichs liegt, gibt die Funktion den Monat des Vorjahres (bei einer negativen Zahl) oder des Folgejahres (bei einer positiven Zahl) zurück.
Beispiele:
-
setMonth(2015-08-07T11:36:39.138Z;5)
Gibt 2015-05-07T11.:36:.138Z zurück
-
setMonth(2015-08-07T11:36:39.138Z;17)
Gibt 2016-05-07T11.:36:.138Z zurück
-
setMonth(2015-08-07T11:36:39.138Z;january)
Gibt 2015-01-07T12.:36:.138Z zurück
setYear (date;number)
Gibt ein neues Datum mit dem in den Parametern angegebenen Jahr zurück.
Beispiel:
-
setYear(2015-08-07T11:36:39.138Z;2017)
Gibt 2017-08-07T11-:36:.138Z zurück
formatDate (Datum; Format; [Zeitzone])
Verwenden Sie diese Funktion, wenn Sie einen Datumswert haben, z. B. 12-10-2021 20:30
, den Sie als Textwert formatieren möchten, z. B. Dec 10, 2021 8:30 PM
.
Dies ist beispielsweise nützlich, wenn Sie das Datumsformat einer Anwendung oder eines Webservices im selben Szenario in das Format einer verbundenen Anwendung oder eines Webservices ändern müssen.
Weitere Informationen finden Sie unter Datum und Text im Artikel Elementdatentypen.
Parameter
Ermöglicht die Angabe eines Formats mithilfe von Datums-/Uhrzeitformatierungs-Token. Weitere Informationen finden Sie unter Token zur Datums- und Zeitformatierung.
Beispiel: DD.MM.YYYY HH:mm
(Optional) Hier können Sie die Zeitzone angeben, die für die Konvertierung verwendet wird.
Eine Liste der erkannten Zeitzonen finden Sie in der Spalte „TZ-Datenbankname“ in der Wikipedia Liste der tz-Datenbankzeitzonen. Nur die in dieser Spalte aufgelisteten Werte werden von der Funktion als gültige Zeitzone erkannt. Alle anderen Werte werden ignoriert und stattdessen wird die in Ihrem Profil angegebene Zeitzone „Szenarios“ verwendet.
Wenn Sie diesen Parameter auslassen, wird die in Ihren Profileinstellungen angegebene Zeitzone „Szenarios“ angewendet.
Beispiel: Europe/Prague
, UTC
Wenn ein anderer Typ angegeben wird, wird Typzwang angewendet. Weitere Informationen finden Sie unter Typzwang.
Rückgabewert und -typ
Die Funktion formatDate
gibt eine Textdarstellung des angegebenen Datumswerts entsprechend dem angegebenen Format und der angegebenen Zeitzone zurück. Der Datentyp ist Text.
Beispiele: In diesen Beispielen wurden sowohl das Szenario als auch die Web-Zeitzone auf Europe/Prague
festgelegt.
-
formatDate(1. Date created;MM/DD/YYYY)
Gibt 10/01/2018 zurück
-
formatDate(1. Date created; YYYY-MM-DD hh:mm A)
Gibt 2018-10-01 09:32 Uhr zurück
-
formatDate(1. Date created;DD.MM.YYYY HH:mm;UTC)
Gibt 01.10.2018 07 :32
-
formatDate(now;DD.MM.YYYY HH:mm)
Gibt 19.03.2019 15 zurück:30
parseDate (text;format; [timezone])
Verwenden Sie diese Funktion, wenn Sie einen Textwert haben, der ein Datum darstellt (z. B. 12-10-2019 20:30
oder Aug 18, 2019 10:00 AM
) und Sie ihn in einen Datumswert konvertieren (parsen) möchten (eine binäre maschinenlesbare Darstellung). Weitere Informationen finden Sie unter Datum und Text im Artikel Elementdatentypen.
Parameter
Die zweite Spalte zeigt den erwarteten Typ an. Wenn ein anderer Typ angegeben wird, wird Typzwang angewendet. Weitere Informationen finden Sie unter Typzwang.
Ermöglicht die Angabe eines Formats mithilfe von Datums-/Uhrzeitformatierungs-Token. Weitere Informationen finden Sie unter Token zur Datums- und Zeitformatierung.
Beispiel: DD.MM.YYYY HH:mm
(Optional) Hier können Sie die Zeitzone angeben, die für die Konvertierung verwendet wird.
Eine Liste der erkannten Zeitzonen finden Sie in der Spalte „TZ-Datenbankname“ in der Wikipedia Liste der tz-Datenbankzeitzonen. Nur die in dieser Spalte aufgelisteten Werte werden von der Funktion als gültige Zeitzone erkannt. Alle anderen Werte werden ignoriert und stattdessen wird die in Ihrem Profil angegebene Zeitzone „Szenarios“ verwendet.
Wenn Sie diesen Parameter auslassen, wird die in Ihren Profileinstellungen angegebene Zeitzone „Szenarios“ angewendet.
Beispiel: Europe/Prague
, UTC
Wenn ein anderer Typ angegeben wird, wird Typzwang angewendet. Weitere Informationen finden Sie unter Typzwang.
Rückgabewert und -typ
Diese Funktion konvertiert eine Textzeichenfolge in ein Datum, entsprechend dem Format und der Zeitzone, die Sie angeben. Der Datentyp des Werts ist Datum.
Beispiele: In den folgenden Beispielen wird der zurückgegebene Datumswert gemäß ISO 8601 ausgedrückt, aber der Datentyp des Ergebnisses ist „Datum“.
-
parseDate(2016-12-28;YYYY-MM-DD)
Gibt 2016-28T00-:00:.000Z zurück
-
parseDate(2016-12-28 16:03;YYYY-MM-DD HH:mm)
Gibt 2016-28-12-16.:03:.000Z zurück
-
parseDate(2016-12-28 04:03 pm; YYYY-MM-DD hh:mm a)
Gibt 2016-28-12-16.:03:.000Z zurück
-
parseDate(1482940986;X)
Gibt 2016-28-12-16.:03:.000Z zurück
dateDifference (Date1; Date2; Unit)
Gibt eine Zahl zurück, die den Unterschied zwischen den beiden Daten darstellt, ausgedrückt in der angegebenen Einheit.
Datum2 wird von Datum1 abgezogen.
Verwenden Sie einen der folgenden Zeitwerte für den unit
:
- Millisekunden
- Sekunden
- Minuten
- Stunden
- Tage
- Wochen
- Monate
Wenn keine Einheit angegeben ist, gibt die Funktion die Differenz in Millisekunden zurück.
Beispiele:
-
dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z)
Gibt
600,000
zurück -
dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;hours)
Gibt
4
zurück -
dateDifference2021-06-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;months)
Gibt
1
zurück
Zusätzliche Beispiele
Berechnung des n-ten Wochentags im Monat
Dieser Abschnitt ist für Workfront Fusion von der Exceljet-Webseite angepasst, auf der erläutert wird, wie Sie den n-ten Wochentag in einem Monat erhalten.
Wenn Sie ein Datum berechnen müssen, das dem n-ten Wochentag im Monat entspricht (z. B. erster Dienstag, dritter Freitag usw.), können Sie die folgende Formel verwenden:
{{addDays(setDate(1.date; 1); 1.n * 7 - formatDate(addDays(setDate(1.date; 1); "-" + 1.dow); "E"))}}
Die Formel enthält die folgenden Elemente:
Wenn Sie nur einen bestimmten Fall berechnen möchten, z. B. jeden zweiten Mittwoch, können Sie die Elemente 1.n
und 2.dow
in der Formel durch entsprechende Zahlen ersetzen. Für den zweiten Mittwoch im aktuellen Monat würden Sie die folgenden Werte verwenden:
1.n
=2
1.dow
=3
1.date
=now
Erklärung:
setDate(now;1)
gibt den ersten Wert des aktuellen Monats zurückformatDate(....;E)
gibt den Wochentag (1, 2, … 6) zurück
Berechnen von Tagen zwischen Datumsangaben
Eine Möglichkeit besteht darin, den folgenden Ausdruck zu verwenden:
{{round((2.value - 1.value) / 1000 / 60 / 60 / 24)}}
-
Die Werte
D1
undD2
müssen vom Typ Datum sein. Wenn es sich um Werte vom Typ Zeichenfolge handelt (z. B. 20.10.2018), konvertieren Sie sie mit der FunktionparseDate()
in Werte vom Typ Datum . -
Die
round()
-Funktion wird für Fälle verwendet, in denen eines der Datumsangaben in den Zeitraum der Sommerzeit fällt und das andere nicht. In diesen Fällen beträgt der Stundenunterschied eine Stunde weniger oder mehr. Bei einem Ergebnis, das keine Ganzzahl ist, können Sie es durch 24 teilen. Man verliert eine Stunde der Sommerzeit. Rund flacht es, sodass man keinen Prozentsatz hat
Berechnung des letzten Tages/der letzten Millisekunde des Monats
Wenn Sie einen Datumsbereich angeben, z. B. in einem Suchmodul, und der Bereich den gesamten Vormonat als geschlossenes Intervall umfasst (das Intervall, das beide Endpunkte umfasst), müssen Sie den letzten Tag des Monats berechnen.
2019-09-01 ≤ D ≤ 2019-09-30
Die folgende Formel zeigt eine Möglichkeit, den letzten Tag des Vormonats zu berechnen:
{{addDays(setDate(now; 1); -1)}}
In einigen Fällen müssen Sie nicht nur den letzten Tag des Monats berechnen, sondern buchstäblich seine letzte Millisekunde:
2019-09-01T00:00:00.000Z ≤ D ≤ 2019-09-30T23:59:59.999Z
Diese Formel zeigt eine Möglichkeit, die letzte Millisekunde des Vormonats zu berechnen:
{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD"; "UTC") - 1; "x")}}
Wenn Sie das Ergebnis benötigen, um Ihre Zeitzoneneinstellung zu verwenden, lassen Sie das UTC-Argument weg:
{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD") - 1; "x")}}
Es ist jedoch vorzuziehen, stattdessen das halb offene Intervall zu verwenden (das Intervall, das einen seiner Grenzpunkte ausschließt), wobei stattdessen der erste Tag des folgenden Monats angegeben wird und der Operator „kleiner oder gleich“ durch „kleiner als“ wie folgt ersetzt wird:
2019-09-01 ≤ D < 2019-10-01
2019-09-01T00:00:00.000Z ≤ D < 2019-10-01T00:00:00.000Z