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

  1. Den Tag aus einem Datumsliteral abrufen:

    GetDay(#01/02/2025#)

    Ergebnis: 1

  2. Den Tag aus einer Datumszeichenkette mit Uhrzeit abrufen:

    GetDay("02/07/2006 12:57:20")

    Ergebnis: 2

  3. Den Tag aus dem Datumsfeld eines Empfängers abrufen:

    GetDay(|->[OrderDate])

    Wenn OrderDate = #15/03/2024#:

    Ergebnis: 15

  4. 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

  1. Den Monat aus einem Datumsliteral abrufen:

    GetMonth(#01/02/2025#)

    Ergebnis: 2 (Februar)

  2. Den Monat aus einer Datumszeichenkette mit Uhrzeit abrufen:

    GetMonth("02/07/2006 12:57:20")

    Ergebnis: 7 (Juli)

  3. 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"

  4. 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

  1. Das Jahr aus einem Datumsliteral abrufen:

    GetYear(#01/02/2025#)

    Ergebnis: 2025

  2. Das Jahr aus einer Datumszeichenkette mit Uhrzeit abrufen:

    GetYear("02/07/2006 12:57:20")

    Ergebnis: 2006

  3. 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

  4. Einen Copyright-Hinweis mit dem aktuellen Jahr erstellen:

    "Copyright " & AsString(GetYear(Now())) & " Acme Corp."

    Ergebnis: "Copyright 2025 Acme Corp."

  5. 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

  1. Den Wochentag aus einem Datumsliteral abrufen:

    GetDayOfWeek(#01/02/2025#)

    Ergebnis: 7 (Samstag)

  2. 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"
    }

  3. Prüfen, ob ein Datum auf ein Wochenende fällt:

    If (GetDayOfWeek(|->[DeliveryDate]) = 1 Or GetDayOfWeek(|->[DeliveryDate]) = 7)
    {
    "Weekend Delivery"
    }
    else
    {
    "Weekday Delivery"
    }

  4. 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

  1. Die Stunde aus einem Datum ohne Uhrzeit abrufen (Standard: Mitternacht):

    GetHour(#01/02/2025#)

    Ergebnis: 0

  2. Die Stunde aus einer Datums-/Zeitzeichenkette abrufen:

    GetHour("02/07/2006 12:57:20")

    Ergebnis: 12

  3. Die Tageszeit bestimmen:

    If (GetHour(|->[LoginTime]) < 12)
    {
    "Morning"
    }
    else If (GetHour(|->[LoginTime]) < 17)
    {
    "Afternoon"
    }
    else
    {
    "Evening"
    }

  4. 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

  1. Die Minute aus einem Datum ohne Uhrzeit abrufen (Standard: 0):

    GetMinute(#01/02/2025#)

    Ergebnis: 0

  2. 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

  1. Die Sekunde aus einem Datum ohne Uhrzeit abrufen (Standard: 0):

    GetSecond(#01/02/2025#)

    Ergebnis: 0

  2. 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

  1. Das Alter aus einer Datumszeichenkette berechnen:

    Age("31/01/1973")

    Ergebnis: 52.8164383561644 (Stand Ende 2025)

  2. Volle Lebensjahre berechnen (häufigste Verwendung):

    Floor(Age(|->[DOB]))

    Wenn DOB = #15/06/1985# und das aktuelle Datum November 2025 ist:

    Ergebnis: 40

  3. 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)

  4. 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"
    }

  5. 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

  6. 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

  1. Das aktuelle Datum und die aktuelle Uhrzeit abrufen:

    Now()

    Ergebnis: Aktuelles Datum und Uhrzeit (z. B. #25/11/2025 14:30:00#)

  2. Das aktuelle Datum formatieren:

    FormatDate(Now(), "dd/MM/yyyy")

    Ergebnis: "25/11/2025" (aktuelles Datum formatiert)

  3. Ein Datum 30 Tage in der Zukunft berechnen:

    Now() + 30

    Ergebnis: Datum 30 Tage ab jetzt

  4. Eine Ablaufdatumsnachricht erstellen:

    "This offer expires on " & FormatDate(Now() + 14, "MMMM d, yyyy")

    Ergebnis: "This offer expires on December 9, 2025"

  5. Einen Zeitstempel zu generierten Inhalten hinzufügen:

    "Generated: " & FormatDate(Now(), "MM/dd/yyyy HH:mm:ss")

    Ergebnis: "Generated: 11/25/2025 14:30:45"

  6. Tage bis zu einem Ereignis berechnen:

    AsNumber(|->[EventDate]) - AsNumber(Now())

    Ergebnis: Gibt die Anzahl der Tage bis zum Ereignisdatum zurück.

  7. 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

  1. Ein Datum mit vollständigen Tages- und Monatsnamen formatieren:

    FormatDate(#27/06/2006#, "dddd, MMMM dd, yyyy")

    Ergebnis: "Tuesday, June 27, 2006"

  2. Ein Datum im abgekürzten Stil formatieren:

    FormatDate(|->[DOB], "ddd MMM d")

    Wenn DOB = #15/03/1985#:

    Ergebnis: "Fri Mar 15"

  3. Mit numerischem Datum formatieren (US-Stil):

    FormatDate(|->[OrderDate], "MM/dd/yyyy")

    Wenn OrderDate = #25/12/2025#:

    Ergebnis: "12/25/2025"

  4. Mit numerischem Datum formatieren (europäischer Stil):

    FormatDate(|->[OrderDate], "dd/MM/yyyy")

    Wenn OrderDate = #25/12/2025#:

    Ergebnis: "25/12/2025"

  5. Im ISO 8601-Stil formatieren:

    FormatDate(Now(), "yyyy-MM-dd")

    Ergebnis: "2025-11-25"

  6. 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"

  7. Mit Uhrzeit formatieren (24-Stunden-Format):

    FormatDate(Now(), "dd/MM/yyyy HH:mm:ss")

    Ergebnis: "25/11/2025 14:30:45"

  8. 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"

  9. Ein Ablaufdatum für ein Angebot formatieren:

    FormatDate(Now() + 30, "MMMM d, yyyy")

    Ergebnis: "December 25, 2025" (30 Tage ab dem 25. November)

  10. 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