Datumsformeln
formatDate
Die Formel formatDate(date, format)
dient dem strukturierten Ausgeben von Datumswerten. Dabei wird ein Datum und das gewünschte Format angegeben. Das gewünschte Format wird über einen Text für format
angegeben.
Dabei sollte beachtet werden, dass Texte innerhalb des Formates per Delimiter('
) angegeben werden müssen. So ist bspw. das Format "Der dd. MMMM ist ein Feiertag"
nicht zulässig, da der enthaltene Text “Der […] ist ein Feiertag” mit als Format interpretiert wird. Um speziell Text mit einem Datum zu verbinden, sollte ein Delimiter genutzt werden: "'Der 'dd. MMMM' ist ein Feiertag'"
Formatierungsmöglichkeiten bei formatDate
Das Format kann beliebig aus den folgenden Symbolen zusammengesetzt werden:
Symbol | Beschreibung | Ausgabe in | Beispiel |
---|---|---|---|
G | Bezeichnung | (Text) | AD |
yyyy | Jahr | (Zahl) | 2022 |
M | Monat im Jahr (kurz) | (Zahl) | 1 |
MM | Monat im Jahr (lang) | (Zahl) | 01 |
MMM | Monatsname (kurz) | (Text) | Jan |
MMMM | Monatsname (lang) | (Text) | Januar |
L | alleinstehender Monat | (Text & Zahl) | Januar & 01 |
d | Tag im Monat | (Zahl) | 5 |
dd | Tag im Monat (lang) | (Zahl) | 05 |
c | alleinstehender Tag | (Zahl) | 10 |
h | Stunde am/pm (1~12) | (Zahl) | 12 |
H | Stunde in Tag (0~23) | (Zahl) | 0 |
m | Minuten einer Stunde | (Zahl) | 30 |
s | Sekunden einer Minute | (Zahl) | 55 |
S | fractional second | (Zahl) | 978 |
EEE | Wochentag (kurz) | (Text) | Do. |
EEEE | Wochentag (lang) | (Text) | Donnerstag |
D | Tag im Jahr | (Number) | 189 |
a | am/pm marker | (Text) | PM |
k | hour in day (1~24) | (Number) | 24 |
K | hour in am/pm (0~11) | (Number) | 0 |
Q | Quartal | (Zahl) | 3 |
QQQ | Quartal (kurz) | (Text & Zahl) | Q3 |
QQQQ | Quartal (lang) | (Text & Zahl) | 3. Quartal |
’ | Angabe von Text innerhalb des Formates | (Delimiter) | ‘Date=’ |
’’ | Angabe von Text innerhalb des Formates mit hochkomma | (Literal) | '’o’clock’’ |
Hinweis: Das Symbol “E” sollte nicht mehr verwendet werden, da es zu unerwarteten Ergebnissen führen kann; stattdessen können “EEE” oder “EEEE” genutzt werden.
Formatierungsbeispiele
Formatierung | Ausgabe |
---|---|
formatDate(today(), "dd.MM.yyyy") | “15.06.2021” |
formatDate(today(), "dd.MM.yyyy HH:mm:ss") | “15.06.2021 08:00:00” |
formatDate(today(), "dd.MM.yyyy HH:mm:ss.SSS") | “15.06.2021 08:00:00.000” |
formatDate(today(),"dd. MMMM, yyyy") | “15. Juni, 2021” |
formatDate(today(),"QQQQ, yyyy") | “2. Quartal, 2021” |
formatDate(today(),"'Der 'dd. MMMM' ist ein Feiertag'") | “Der 15. Juni ist ein Feiertag” |
Datumsformeln zum Erzeugen von Daten
Folgende Formeln dienen dem erstellen von spezifischen Daten. Alle Formeln liefern einen Zeitpunkt zurück, welcher aus Datum, Stunde, Minute und Sekunden besteht.
Hinweis: diese Formeln sollten nicht direkt im Baustein Textformel oder an weiteren Stellen, wo Text erwartet wird, genutzt werden, da diese Daten intern mit UTC verarbeitet werden. Bei der direkten Nutzung kommen also ggf. durch die Zeitverschiebung vermeintlich falsche Daten heraus. Um das zu vermeiden, sollte die Formel formatDate(date, format)
genutzt werden. Beim Baustein Datumsformel können folgende Formeln jedoch problemlos genutzt werden.
Formel | Beschreibung | Beispiel (Ausgehend vom 15.06.2021, 8:00 Uhr als Aufrufzeitpunkt) | Eingabewerte (Werte in den Klammern) | Gelieferter Ergebnistyp |
---|---|---|---|---|
date(year, month, day) | Erstellt ein Datum aus gegebenem Jahr, Monat und Tag | date(2021, 6, 15) liefert das Datum 15.06.2021 00:00:00.000000 | 1. Wert: Zahl, 2. Wert: Zahl, 3. Wert: Zahl | Datum |
today() | Datum, bestehend aus dem aktuellen Tag um 00:00 Uhr | today() liefert 15.06.2021 00:00:00.000000 | Datum | |
now() | Datum, bestehend aus dem aktuellen Zeitpunkt | now() liefert 15.06.2021 08:00:00.000000 | Datum | |
parseDate(text) | Erstellt Datum aus Text im Format “dd.mm.yy” oder “dd.mm.yyyy”, nur dieses Format ist zulässig | parseDate("15.06.2021") liefert 15.06.2021 08:00:00.000000 | 1. Wert: Text | Datum |
tryParseDate(text) | Versucht ein Datum aus value zu machen. Tritt ein Fehler auf wird defaultDateTime zurück gegeben | tryParseDate(\"11.11.24\") liefert 2024-11-11 00:00:00.000; tryParseDate(1k.02.24) liefert 1970-01-01 00:00:00.000 | 1. Wert: Beliebiger Wert | Datum |
defaultDateTime | Gibt das Datum 00:00 01.01.1970. Dieses Datum wird nicht angezeigt | defaultDateTime liefert 1970-01-01 00:00:00.000 | Datum | |
startOfWeek() , endOfWeek() | Beginn/Ende der aktuellen Kalenderwoche | startOfWeek() liefert 14.06.2021 00:00:00.000000, endOfWeek() liefert 20.06.2021 00:00:00.000000 | Datum | |
startOfMonth() , endOfMonth() | Beginn/Ende des aktuellen Monats | startOfMonth() liefert 01.04.2021 00:00:00.000000, endOfMonth() liefert 30.06.2021 00:00:00.000000 | Datum | |
startOfQuarter() , endOfQuarter() | Beginn/Ende des aktuellen Quartals | startOfQuarter() liefert 01.04.2021 00:00:00.000000, endOfQuarter() liefert 30.06.2021 00:00:00.000000 | Datum | |
startOfYear() , endOfYear() | Beginn/Ende des aktuelles Jahres | startOfYear() 01.01.2021 00:00:00.000000, endOfYear() 31.12.2021 00:00:00.000000 | Datum | |
currentMonth() | Liefert den aktuellen Monat in Form eines Textes | currentMonth() liefert “2021-06” | Datum |
Datumsformeln zum Errechnen von Daten
Folgende Formeln sind dafür da, bestehende Daten zu verändern. Bspw. um ausgehend von einem Kaufdatum eine Bezahlungsfrist zu errechnen.
Formel | Beschreibung | Beispiel (Ausgehend vom 15.06.2021, 8:00 Uhr) | Eingabewerte (Werte in den Klammern) | Gelieferter Ergebnistyp |
---|---|---|---|---|
addMinutes(date, days) , subtractMinutes(date, days) | Minuten addiert/subtrahiert auf einen Zeitpunkt | addMinutes(now(),1) liefert 15.06.2021 8:01:00.000000, subtractMinutes(now(),1) liefert 15.06.2021 7:59:00.000000 | 1. Wert: Datum, 2. Wert: Zahl | Datum |
addHours(date, hours) , addHours(date, hours) | Stunden addiert/subtrahiert auf einen Zeitpunkt | addHours(now(),1) liefert 15.06.2021 9:00:00.000000, subtractHours(now(),1) liefert 15.06.2021 7:00:00.000000 | 1. Wert: Datum, 2. Wert: Zahl | Datum |
addDays(date, days) , subtractDays(date, days) | Tage addiert/subtrahiert auf einen Zeitpunkt | addDays(now(),1) liefert 16.06.2021 8:00:00.000000, subtractDays(now(),1) liefert 14.06.2021 8:00:00.000000 | 1. Wert: Datum, 2. Wert: Zahl | Datum |
addWeeks(date, weeks) , subtractWeeks(date, weeks) | Monate addiert/subtrahiert auf einen Zeitpunkt | addWeeks(now(), 1) , liefert 22.06.2021 8:00:00.000000, subtractWeeks(now(), 1) liefert 22.06.2021 8:00:00.000000 | 1. Wert: Datum, 2. Wert: Zahl | Datum |
addMonths(date, weeks) , subtractMonths(date, weeks) | Monate addiert/subtrahiert auf einen Zeitpunkt | addMonths(now(), 1) liefert 15.07.2021 8:00:00.000000, subtractMonths(now(), 1) liefert 15.05.2021 8:00:00.000000 | 1. Wert: Datum, 2. Wert: Zahl | Datum |
Datumsformeln zu Kalenderwochen
Folgende Formeln sind für das Ermitteln von Kalenderwoche anhand von Daten da.
Formel | Beschreibung | Beispiel (Ausgehend vom 15.06.2021, 8:00 Uhr) | Eingabewerte Werte (Werte in den Klammern) | Gelieferter Ergebnistyp |
---|---|---|---|---|
calendarWeek(date) | Kalenderwoche des gegebenen Datums | calendarWeek(today()) liefert 24 | 1. Wert: Datum | Zahl |
currentWeek | aktuelle Kalenderwoche | currentWeek liefert “2021-W24” | Text | |
dateToWeek(date) | Kalenderwoche des Datums | dateToWeek(date(2024,01,01)) liefert “2024-W01” | 1. Wert: Datum | Text |
addWeeks(week, weeks) , subtractWeeks(week, weeks) | Addiert/Subtrahiert gegebene Anzahl von Wochen zum/vom Wochentext | addWeeks("2021-W24", 1) liefert “2021-W25”, subtractWeeks("2021-W24", 1) liefert “2021-W23” | 1. Wert: Wochentext, 2. Wert: Zahl | Text |
Monatsformeln
Folgende Formeln sind für das Ermitteln von Monaten anhand von Daten da.
Formel | Beschreibung | Beispiel (Ausgehend vom 15.06.2021, 8:00 Uhr) | Eingabewerte (Werte in den Klammern) | Gelieferter Ergebnistyp |
---|---|---|---|---|
currentMonth | aktueller Monat | currentMonth liefert “2021-08” | Text | |
dateToMonth(date) | Monat des Datums | dateToMonth(date(2024,01,01)) liefert “2024-01” | 1. Wert: Datum | Text |
addMonths(month, months) , subtractMonths(month, months) | Addiert/Subtrahiert gegebene Monatszahl zum/vom Monatstext | addMonths("2021-05", 1) liefert “2021-06”, subtractMonths("2021-05", 1) liefert “2021-04” | 1. Wert: Monatstext im Format “YYYY-MM”, 2. Wert: Zahl | Text |
Weitere Datumsformeln
Formel | Beschreibung | Beispiel | Eingabewerte (Werte in den Klammern) | Gelieferter Ergebnistyp |
---|---|---|---|---|
datesBetween(startDate, endDate, [options]) | Daten zwischen den zwei gegebenen Daten. Unter [option] kann optional über den Text “weekdays” angegeben werden, dass nur Wochentage angegeben werden sollen. | datesBetween(today(), date(2021,6,19)) liefert [15.06.2021, 16.06.2021, 17.06.2021, 18.06.2021, 19.06.2021], datesBetween(today(), date(2021,6,19), "weekdays") liefert [15.06.2021, 16.06.2021, 17.06.2021, 18.06.2021] | 1. Wert: Datum, 2. Wert: Datum, 3. Wert: optional, Text “weekdays” | Dynamischer Wert/Liste von Daten |
daysBetween(startDate, endDate) | Anzahl der Tage zwischen zwei Daten/Zeitpunkten | daysBetween(date(2024,2,18), date(2021,2,20)) liefert 2, daysBetween(date(2024,2,18), addHours(date(2024,2,20), 12)) liefert 2,5, daysBetween(date(2024,2,20), date(2024,2,18)) liefert -2 | 1. Wert: Datum (optional mit Uhrzeit), 2. Wert: Datum (optional mit Uhrzeit) | Zahl |
hoursBetween(startDate, endDate) | Anzahl der Stunden zwischen zwei Daten/Zeitpunkten | hoursBetween(date(2024,2,18), date(2021,2,20)) liefert 48, hoursBetween(date(2024,2,18), addHours(date(2024,2,20), 12)) liefert 60, hoursBetween(date(2024,2,20), date(2024,2,18)) liefert -48 | 1. Wert: Datum (optional mit Uhrzeit), 2. Wert: Datum (optional mit Uhrzeit) | Zahl |