Datumsfunktionen
Datumsfunktionen führen verschiedene Operationen mit Datums- und Zeitwerten durch, einschließlich der Extraktion einzelner Komponenten (Tag, Monat, Jahr, Stunde, Minute, Sekunde), der Berechnung von Alter oder Dauer, des Abrufens des aktuellen Datums und der Uhrzeit sowie der Formatierung von Datumsangaben für die Anzeige.
Akzeptierte Datumsparameter
Datumsfunktionen akzeptieren Datumswerte in verschiedenen Formaten:
|
Format |
Beschreibung |
Beispiel |
|---|---|---|
|
Datumsliteral |
Datum eingeschlossen in Raute-Zeichen |
#27/06/2006# oder #27/06/06# |
|
Zeichenketten-Datum |
Datum als Zeichenkette mit Trennzeichen (/, \, -, .) |
"27/06/2006" oder "27-06-2006" |
|
Zeichenkette mit Uhrzeit |
Datum und Uhrzeit als Zeichenkette |
"02/07/2006 12:57:20" |
|
Datenfeld |
Feldverweis, der ein Datum enthält |
|->[DOB] |
|
Ausdruck |
Jeder QLingo-Ausdruck, der ein Datum zurückgibt |
AsDate(|->[DateText]) |
Hinweis: Das Format des Datumswerts ist länderspezifisch. XMPie-Produkte verwenden die regionalen Datumseinstellungen Ihres Computers, um festzulegen, wie Datumswerte auf Ihrem System dargestellt werden. Tag/Monat/Jahr oder Monat/Tag/Jahr Die Codebeispiele und Ergebnisse auf dieser Seite verwenden das Format Tag/Monat/Jahr.
GetDay-Funktion
Die Funktion GetDay extrahiert den Tag des Monats aus einem Datumsausdruck und gibt einen Wert von 1 bis 31 zurück.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetDay(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datumswert, aus dem der Tag extrahiert werden soll. |
Beispiele
-
Den Tag aus einem Datumsliteral abrufen:
GetDay(#01/02/2025#)
Ergebnis: 1
-
Den Tag aus einer Datumszeichenkette mit Uhrzeit abrufen:
GetDay("02/07/2006 12:57:20")
Ergebnis: 2
-
Den Tag aus dem Datumsfeld eines Empfängers abrufen:
GetDay(|->[OrderDate])
Wenn OrderDate = #15/03/2024#:
Ergebnis: 15
-
Eine formatierte Datumszeichenkette aus Komponenten erstellen:
"Day " & AsString(GetDay(|->[EventDate])) & " of the month"
Wenn EventDate = #22/11/2024#:
Ergebnis: "Day 22 of the month"
GetMonth-Funktion
Die Funktion GetMonth extrahiert den Monat aus einem Datumsausdruck und gibt einen Wert von 1 (Januar) bis 12 (Dezember) zurück.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetMonth(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datumswert, aus dem der Monat extrahiert werden soll. |
Beispiele
-
Den Monat aus einem Datumsliteral abrufen:
GetMonth(#01/02/2025#)
Ergebnis: 2 (Februar)
-
Den Monat aus einer Datumszeichenkette mit Uhrzeit abrufen:
GetMonth("02/07/2006 12:57:20")
Ergebnis: 7 (Juli)
-
Das Quartal anhand des Monats bestimmen:
Switch (Ceil(GetMonth(|->[SaleDate]) / 3))
{
case 1:
"Q1"
case 2:
"Q2"
case 3:
"Q3"
case 4:
"Q4"
}Wenn SaleDate = #15/08/2024# (August):
Ergebnis: "Q3"
-
Prüfen, ob ein Datum in einen bestimmten Monat fällt:
If (GetMonth(|->[BirthDate]) = GetMonth(Now()))
{
"Happy Birthday Month!"
}
else
{
""
}
GetYear-Funktion
Die Funktion GetYear extrahiert das vierstellige Jahr aus einem Datumsausdruck.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetYear(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datumswert, aus dem das Jahr extrahiert werden soll. |
Beispiele
-
Das Jahr aus einem Datumsliteral abrufen:
GetYear(#01/02/2025#)
Ergebnis: 2025
-
Das Jahr aus einer Datumszeichenkette mit Uhrzeit abrufen:
GetYear("02/07/2006 12:57:20")
Ergebnis: 2006
-
Jahre seit einem bestimmten Datum berechnen:
GetYear(Now()) - GetYear(|->[JoinDate])
Wenn JoinDate = #15/03/2019# und das aktuelle Datum #13/06/2025# ist:
Ergebnis: 6
-
Einen Copyright-Hinweis mit dem aktuellen Jahr erstellen:
"Copyright " & AsString(GetYear(Now())) & " Acme Corp."
Ergebnis: "Copyright 2025 Acme Corp."
-
Prüfen, ob ein Ereignis im aktuellen Jahr stattfindet:
If (GetYear(|->[EventDate]) = GetYear(Now()))
{
"This Year"
}
else
{
"Other Year"
}
GetDayOfWeek-Funktion
Die Funktion GetDayOfWeek gibt den Wochentag für einen Datumsausdruck als Zahl von 1 bis 7 zurück, wobei 1 für Sonntag und 7 für Samstag steht.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetDayOfWeek(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datumswert, aus dem der Wochentag bestimmt werden soll. |
Wochentagswerte
|
Wert |
Tag |
|---|---|
|
1 |
Sonntag |
|
2 |
Montag |
|
3 |
Dienstag |
|
4 |
Mittwoch |
|
5 |
Donnerstag |
|
6 |
Freitag |
|
7 |
Samstag |
Beispiele
-
Den Wochentag aus einem Datumsliteral abrufen:
GetDayOfWeek(#01/02/2025#)
Ergebnis: 7 (Samstag)
-
Die Wochentagsnummer in einen Namen umwandeln:
Switch(GetDayOfWeek(|->[AppointmentDate])
{
case 1: "Sunday"
case 2: "Monday"
case 3: "Tuesday"
case 4: "Wednesday"
case 5: "Thursday"
case 6: "Friday"
case 7: "Saturday"
} -
Prüfen, ob ein Datum auf ein Wochenende fällt:
If (GetDayOfWeek(|->[DeliveryDate]) = 1 Or GetDayOfWeek(|->[DeliveryDate]) = 7)
{
"Weekend Delivery"
}
else
{
"Weekday Delivery"
} -
Feststellen, ob heute ein Werktag ist:
If (GetDayOfWeek(Now()) >= 2 And GetDayOfWeek(Now()) <= 6)
{
"Business Day"
}
else
{
"Weekend"
}
GetHour-Funktion
Die Funktion GetHour extrahiert die Stunde aus einem Datums-/Zeitausdruck und gibt einen Wert von 0 bis 23 (24-Stunden-Format) zurück. Wenn der Datumsausdruck keine Zeitkomponente enthält, gibt die Funktion 0 (Mitternacht) zurück.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetHour(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datums-/Zeitwert, aus dem die Stunde extrahiert werden soll. |
Beispiele
-
Die Stunde aus einem Datum ohne Uhrzeit abrufen (Standard: Mitternacht):
GetHour(#01/02/2025#)
Ergebnis: 0
-
Die Stunde aus einer Datums-/Zeitzeichenkette abrufen:
GetHour("02/07/2006 12:57:20")
Ergebnis: 12
-
Die Tageszeit bestimmen:
If (GetHour(|->[LoginTime]) < 12)
{
"Morning"
}
else If (GetHour(|->[LoginTime]) < 17)
{
"Afternoon"
}
else
{
"Evening"
} -
Die aktuelle Stunde abrufen:
GetHour(Now())
Wenn die aktuelle Uhrzeit 15:45 ist:
Ergebnis: 15
GetMinute-Funktion
Die Funktion GetMinute extrahiert die Minute aus einem Datums-/Zeitausdruck und gibt einen Wert von 0 bis 59 zurück. Wenn der Datumsausdruck keine Zeitkomponente enthält, gibt die Funktion 0 zurück.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetMinute(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datums-/Zeitwert, aus dem die Minute extrahiert werden soll. |
Beispiele
-
Die Minute aus einem Datum ohne Uhrzeit abrufen (Standard: 0):
GetMinute(#01/02/2025#)
Ergebnis: 0
-
Die Minute aus einer Datums-/Zeitzeichenkette abrufen:
GetMinute("02/07/2006 12:57:20")
Ergebnis: 57
GetSecond-Funktion
Die Funktion GetSecond extrahiert die Sekunde aus einem Datums-/Zeitausdruck und gibt einen Wert von 0 bis 59 zurück. Wenn der Datumsausdruck keine Zeitkomponente enthält, gibt die Funktion 0 zurück.
Diese Funktion gibt den Datentyp Zahl zurück.
Syntax
GetSecond(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datums-/Zeitwert, aus dem die Sekunde extrahiert werden soll. |
Beispiele
-
Die Sekunde aus einem Datum ohne Uhrzeit abrufen (Standard: 0):
GetSecond(#01/02/2025#)
Ergebnis: 0
-
Die Sekunde aus einer Datums-/Zeitzeichenkette abrufen:
GetSecond("02/07/2006 12:57:20")
Ergebnis: 20
Age-Funktion
Die Funktion Age berechnet die Anzahl der Jahre zwischen einem Datumsausdruck und dem aktuellen Datum/der aktuellen Uhrzeit. Das Ergebnis wird als Dezimalzahl zurückgegeben, die das genaue Alter in Jahren darstellt. Diese Funktion wird häufig zur Berechnung des Alters einer Person anhand ihres Geburtsdatums verwendet, funktioniert jedoch mit jedem Datum.
Diese Funktion gibt den Datentyp Zahl (Dezimalzahl) zurück.
Syntax
Age(dateExpression)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Ein Datumswert, der das Startdatum für die Altersberechnung darstellt. |
Beispiele
-
Das Alter aus einer Datumszeichenkette berechnen:
Age("31/01/1973")
Ergebnis: 52.8164383561644 (Stand Ende 2025)
-
Volle Lebensjahre berechnen (häufigste Verwendung):
Floor(Age(|->[DOB]))
Wenn DOB = #15/06/1985# und das aktuelle Datum November 2025 ist:
Ergebnis: 40
-
Das Alter aus einem Textfeld berechnen, das in ein Datum umgewandelt wird:
Floor(Age(AsDate(|->[BirthDateText])))
Wenn BirthDateText = "03/22/1990":
Ergebnis: 35 (abhängig vom aktuellen Datum)
-
Altersgruppe für Marketingzwecke bestimmen:
If (Floor(Age(|->[DOB])) < 25)
{
"Young Adult"
}
else If (Floor(Age(|->[DOB])) < 45)
{
"Adult"
}
else If (Floor(Age(|->[DOB])) < 65)
{
"Middle Age"
}
else
{
"Senior"
} -
Jahre seit einem Ereignis berechnen (z. B. Kundenjubiläum):
Floor(Age(|->[FirstPurchaseDate]))
Wenn FirstPurchaseDate = #10/05/2020# und das aktuelle Datum November 2025 ist:
Ergebnis: 5
-
Prüfen, ob jemand mindestens 18 Jahre alt ist:
If (Age(|->[DOB]) >= 18)
{
"Eligible"
}
else
{
"Not Eligible"
}
Tipp: Verwenden Sie Floor(Age(...)), um volle Jahre zu erhalten. Dies ist in der Regel das gewünschte Ergebnis für die Anzeige des Alters einer Person oder die Berechnung von Jubiläen.
Now-Funktion
Die Funktion Now gibt das aktuelle Systemdatum und die aktuelle Systemzeit zum Zeitpunkt der Komposition zurück. Dies ist nützlich für Zeitstempel, die Berechnung von Fristen oder die Personalisierung von Inhalten basierend auf dem aktuellen Datum.
Diese Funktion gibt den Datentyp Datum zurück.
Syntax
Now()
Diese Funktion hat keine Parameter.
Beispiele
-
Das aktuelle Datum und die aktuelle Uhrzeit abrufen:
Now()
Ergebnis: Aktuelles Datum und Uhrzeit (z. B. #25/11/2025 14:30:00#)
-
Das aktuelle Datum formatieren:
FormatDate(Now(), "dd/MM/yyyy")
Ergebnis: "25/11/2025" (aktuelles Datum formatiert)
-
Ein Datum 30 Tage in der Zukunft berechnen:
Now() + 30
Ergebnis: Datum 30 Tage ab jetzt
-
Eine Ablaufdatumsnachricht erstellen:
"This offer expires on " & FormatDate(Now() + 14, "MMMM d, yyyy")
Ergebnis: "This offer expires on December 9, 2025"
-
Einen Zeitstempel zu generierten Inhalten hinzufügen:
"Generated: " & FormatDate(Now(), "MM/dd/yyyy HH:mm:ss")
Ergebnis: "Generated: 11/25/2025 14:30:45"
-
Tage bis zu einem Ereignis berechnen:
AsNumber(|->[EventDate]) - AsNumber(Now())
Ergebnis: Gibt die Anzahl der Tage bis zum Ereignisdatum zurück.
-
Begrüßung basierend auf der Tageszeit personalisieren:
If (GetHour(Now()) < 12)
{
"Good morning"
}
else If (GetHour(Now()) < 17)
{
"Good afternoon"
}
else
{
"Good evening"
}
Hinweis: Die Funktion Now() gibt das Datum und die Uhrzeit zum Zeitpunkt der Auftragskomposition zurück. Bei Stapelaufträgen haben alle Empfänger im selben Auftrag denselben Now()-Wert.
FormatDate-Funktion
Die Funktion FormatDate konvertiert ein Datum gemäß einem angegebenen Muster in eine formatierte Zeichenkette. Dies bietet vollständige Kontrolle über die Datumsanzeige, einschließlich der Unterstützung verschiedener Datumsformate, lokalisierter Monats- und Tagesnamen sowie verschiedener Zeitformate.
Diese Funktion gibt den Datentyp Zeichenkette zurück.
Syntax
FormatDate(dateExpression, formatString)
|
Parameter |
Beschreibung |
|---|---|
|
dateExpression |
Erforderlich. Der zu formatierende Datumswert. |
|
formatString |
Erforderlich. Eine Musterzeichenkette, die das Ausgabeformat mithilfe von Formatbezeichnern definiert. |
Formatbezeichner
Tagesbezeichner
|
Bezeichner |
Beschreibung |
Beispiel |
|---|---|---|
|
d |
Tag des Monats ohne führende Null |
1, 15, 31 |
|
dd |
Tag des Monats mit führender Null |
01, 15, 31 |
|
ddd |
Abgekürzter Tagesname |
Mon, Tue, Wed |
|
dddd |
Vollständiger Tagesname |
Monday, Tuesday, Wednesday |
Monatsbezeichner
|
Bezeichner |
Beschreibung |
Beispiel |
|---|---|---|
|
M |
Monat ohne führende Null |
1, 6, 12 |
|
MM |
Monat mit führender Null |
01, 06, 12 |
|
MMM |
Abgekürzter Monatsname |
Jan, Jun, Dec |
|
MMMM |
Vollständiger Monatsname |
January, June, December |
Jahresbezeichner
|
Bezeichner |
Beschreibung |
Beispiel |
|---|---|---|
|
y |
Jahr ohne Jahrhundert (1 Ziffer wenn möglich) |
5, 25 |
|
yy |
Jahr ohne Jahrhundert (2 Ziffern) |
05, 25 |
|
yyy |
Jahr mit mindestens 3 Ziffern |
025, 2025 |
|
yyyy |
Vierstelliges Jahr |
2025 |
Zeitbezeichner
|
Bezeichner |
Beschreibung |
Beispiel |
|---|---|---|
|
h |
Stunde (12-Stunden-Format) ohne führende Null |
1, 12 |
|
hh |
Stunde (12-Stunden-Format) mit führender Null |
01, 12 |
|
H |
Stunde (24-Stunden-Format) ohne führende Null |
0, 13, 23 |
|
HH |
Stunde (24-Stunden-Format) mit führender Null |
00, 13, 23 |
|
m |
Minute ohne führende Null |
0, 30, 59 |
|
mm |
Minute mit führender Null |
00, 30, 59 |
|
s |
Sekunde ohne führende Null |
0, 30, 59 |
|
ss |
Sekunde mit führender Null |
00, 30, 59 |
AM/PM-Bezeichner
|
Bezeichner |
Beschreibung |
Beispiel |
|---|---|---|
|
t |
Einzelzeichen AM/PM (Großbuchstabe) |
A, P |
|
tt |
Vollständiges AM/PM (Großbuchstaben) |
AM, PM |
|
T |
Einzelzeichen AM/PM (Großbuchstabe) |
A, P |
|
TT |
Vollständiges AM/PM (Großbuchstaben) |
AM, PM |
Beispiele
-
Ein Datum mit vollständigen Tages- und Monatsnamen formatieren:
FormatDate(#27/06/2006#, "dddd, MMMM dd, yyyy")
Ergebnis: "Tuesday, June 27, 2006"
-
Ein Datum im abgekürzten Stil formatieren:
FormatDate(|->[DOB], "ddd MMM d")
Wenn DOB = #15/03/1985#:
Ergebnis: "Fri Mar 15"
-
Mit numerischem Datum formatieren (US-Stil):
FormatDate(|->[OrderDate], "MM/dd/yyyy")
Wenn OrderDate = #25/12/2025#:
Ergebnis: "12/25/2025"
-
Mit numerischem Datum formatieren (europäischer Stil):
FormatDate(|->[OrderDate], "dd/MM/yyyy")
Wenn OrderDate = #25/12/2025#:
Ergebnis: "25/12/2025"
-
Im ISO 8601-Stil formatieren:
FormatDate(Now(), "yyyy-MM-dd")
Ergebnis: "2025-11-25"
-
Mit Uhrzeit formatieren (12-Stunden-Format):
FormatDate(|->[AppointmentTime], "MMMM d, yyyy h:mm tt")
Wenn AppointmentTime = #15/03/2025 14:30:00#:
Ergebnis: "March 15, 2025 2:30 PM"
-
Mit Uhrzeit formatieren (24-Stunden-Format):
FormatDate(Now(), "dd/MM/yyyy HH:mm:ss")
Ergebnis: "25/11/2025 14:30:45"
-
Eine benutzerfreundliche relative Datumsbeschreibung erstellen:
"Your subscription renews on " & FormatDate(|->[RenewalDate], "MMMM d")
Wenn RenewalDate = #15/01/2026#:
Ergebnis: "Your subscription renews on January 15"
-
Ein Ablaufdatum für ein Angebot formatieren:
FormatDate(Now() + 30, "MMMM d, yyyy")
Ergebnis: "December 25, 2025" (30 Tage ab dem 25. November)
-
Tage zu einem Datum hinzufügen und das Ergebnis formatieren:
"Payment is due by " & FormatDate(|->[InvoiceDate] + 30, "MMMM d, yyyy")
Wenn InvoiceDate = #15/02/2026#:
Ergebnis: "Payment is due by March 18, 2026"
Tipp: Alle Zeichen in der Formatzeichenkette, die keine Formatbezeichner sind, werden wörtlich in die Ausgabe übernommen. Verwenden Sie dies, um Trennzeichen, Satzzeichen oder Text zwischen Datumskomponenten einzufügen.
Weitere Themen
-
Konvertierungsfunktionen - Funktionen zur Konvertierung zwischen Datentypen (einschließlich AsDate)
-
Numerische Funktionen - Funktionen für mathematische Operationen (einschließlich Floor für Altersberechnungen)
-
Zeichenkettenfunktionen - Funktionen zur Textmanipulation