DateDiff-Funktion

Gibt einen Wert des Typs Variant (Long) zurück, der die Anzahl der Zeitintervalle zwischen zwei angegebenen Datumswerten angibt.

Syntax

DateDiff ( Intervall, Datum1, Datum2 [, ErsterTagDerWoche] [, ErsteWocheDesJahres] )

Die Syntax der Funktion DateDiff weist die folgenden Argumente auf:

Tipp: In Access 2010 enthält der Ausdrucks-Generator IntelliSense, sodass Sie sehen können, welche Argumente für den Ausdruck erforderlich sind. 

Argument

Beschreibung

Intervall

Erforderlich. Zeichenfolgenausdruck, der das Zeitintervall darstellt, das zum Berechnen der Differenz zwischen Datum1 und Datum2 verwendet wird.

Datum1, Datum2

Erforderlich. Variant (Date). Zwei Datumsangaben, die Sie in der Berechnung verwenden möchten.

ErsterTagDerWoche

Optional. Eine Konstante, die den ersten Tag der Woche bezeichnet. Sofern nicht anders angegeben, wird "Sonntag" vorausgesetzt.

ErsteWocheDesJahres

Optional. Eine Konstante, die die erste Woche des Jahres bezeichnet. Wenn nicht angegeben, wird in der ersten Woche die Woche angenommen, in der der 1. Januar eintritt.

Einstellungen

Das Intervall-Argument weist die folgenden Einstellungen auf:

Einstellung

Beschreibung

yyyy

Jahr

q

Quartal

m

Monat

y

Tag des Jahres

d

Tag

w

Wochentag

ww

Woche

h

Stunde

n

Minute

s

Sekunde

Das ErsterTagDerWoche-Argument weist die folgenden Einstellungen auf:

Konstante

Wert

Beschreibung

vbUseSystem

0

NLS API-Einstellung verwenden.

vbSunday

1

Sonntag (Standard)

vbMonday

2

Montag

vbTuesday

3

Dienstag

vbWednesday

4

Mittwoch

vbThursday

5

Donnerstag

vbFriday

6

Freitag

vbSaturday

7

Samstag

Konstante

Wert

Beschreibung

vbUseSystem

0

NLS API-Einstellung verwenden.

vbFirstJan1

1

Mit der Woche beginnen, in die der 1. Januar fällt (Standard).

vbFirstFourDays

2

Mit der ersten Woche beginnen, die mindestens vier Tage des neuen Jahres enthält.

vbFirstFullWeek

3

Mit der ersten vollen Woche des Jahres beginnen.

Hinweise

Sie können die DateDiff-Funktion verwenden, um zu ermitteln, wie viele angegebene Zeitintervalle zwischen zwei Datumsangaben vorhanden sind. Beispielsweise können Sie mit DateDiff die Anzahl von Tagen zwischen zwei Datumsangaben oder die Anzahl von Wochen zwischen dem heutigen Datum und dem Jahresende berechnen.

Wenn Sie die Anzahl der Tage zwischen date1 und date2berechnen möchten, können Sie entweder Tag des Jahres ("y") oder Tag ("d") verwenden. Wenn das Intervall "Wochentag" ("w") ist, gibt DateDiff die Anzahl der Wochen zwischen den beiden Datumsangaben zurück. Wenn date1 auf einen Montag fällt, zählt DateDiff die Anzahl montags bis date2. Sie zählt date2 , aber nicht date1. Wenn Interval jedoch "Woche" ("ww") ist, gibt die DateDiff -Funktion die Anzahl der Kalenderwochen zwischen den beiden Datumsangaben zurück. Sie zählt die Anzahl der Sonntage zwischen date1 und date2. DateDiff zählt date2 , wenn Sie auf einen Sonntag fällt; aber es zählt nicht date1, auch wenn es auf einen Sonntag fällt.

Wenn Datum1 auf einen späteren Zeitpunkt als Datum2 verweist, gibt die DateDiff-Funktion eine negative Zahl zurück.

Das ErsterTagDerWoche-Argument beeinflusst Berechnungen, bei denen die Intervallsymbole "w" und "ww" verwendet werden.

Wenn Datum1 oder Datum2 ein Datumsliteral ist, wird das angegebene Jahr zu einem dauerhaften Teil dieses Datums. Wenn Datum1 oder Datum2 jedoch in Anführungszeichen (" ") eingeschlossen ist und Sie das Jahr weglassen, wird immer dann, wenn der Datum1 oder Datum2-Ausdruck ausgewertet wird, das aktuelle Jahr in den Code eingefügt. Dadurch können Sie Code schreiben, der in verschiedenen Jahren verwendet werden kann.

Wenn der 31. Dezember mit dem 1. Januar des unmittelbar folgenden Jahrs verglichen wird, gibt DateDiff für das Jahr ("yyyy") den Wert "1" zurück, obwohl nur ein Tag vergangen ist.

Hinweis:  Das für Datum1 oder Datum2 angegebene Datum muss ein gregorianisches Datum sein, wenn die Einstellung der Calendar-Eigenschaft dem gregorianischen Kalender entspricht. Wenn es sich um einen Hijri-Kalender handelt, muss das angegebene Datum ein Hijri-Datum sein.

Beispiele für DateDiff-Abfragen

Ausdruck

Ergebnisse

Wählen Sie DateDiff ("yyyy", #01/01/2010 #, [DateofSale]) als expr1 von productsales;

Gibt den Unterschied zwischen date2 und date1 zurück (die date1 als älteste und date2) als Anzahl der "Jahre". Ergebnis: Differenz zwischen den Werten im Feld "DateofSale" und dem Datum "01/01/2010" als Anzahl der "Jahre".

Wählen Sie DateDiff ("q", [DateofSale], Datum ()) als DaysSinceSale aus productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "Quartalen" zurück (basierend auf dem Kalenderjahr) und wird in der Spalte "DaysSinceSale" angezeigt. Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "months" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Wählen Sie DateDiff ("y"; [DateofSale], Datum ()) als DaysSinceSale aus productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "Tage" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Wählen Sie DateDiff ("d"; [DateofSale], Datum ()) als DaysSinceSale aus productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "Tage" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Wählen Sie DateDiff ("w"; [DateofSale], Datum ()) als DaysSinceSale von productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "werktags" zurück und wird in der Spalte "DaysSinceSale" angezeigt. Wenn "DateofSale" auf einen Montag fällt, zählt DateDiff die Anzahl der Montagen bis zum Systemdatum. Sie zählt das Systemdatum, aber nicht den Wert in "DateofSale".

Wählen Sie DateDiff ("ww", [DateofSale], Datum ()) als DaysSinceSale von productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateofSale" als Anzahl von "Kalenderwochen" zurück und wird in der Spalte "DaysSinceSale" angezeigt. Sie zählt die Anzahl der Sonntage zwischen "DateofSale" und "Systemdatum". Das Systemdatum wird gezählt, wenn es auf einen Sonntag fällt. aber es zählt nicht "DateofSale", auch wenn es auf einen Sonntag fällt.

Wählen Sie DateDiff ("h"; [DateTime], Datum ()) als DaysSinceSale von productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateTime" als Anzahl von "Stunden" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Wählen Sie DateDiff ("n", [DateTime], Datum ()) als DaysSinceSale von productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateTime" als Anzahl von "Minuten" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Wählen Sie DateDiff ("s", [DateTime], Datum ()) als DaysSinceSale von productsales;

Gibt die Differenz zwischen dem Systemdatum und "DateTime" als Anzahl von "Sekunden" zurück und wird in der Spalte "DaysSinceSale" angezeigt.

Ausdrucksbeispiel

Verwenden der DateDiff-Funktion in einem Ausdruck     Sie können die DateDiff -Funktion verwenden, wenn Sie Ausdrücke verwenden können. Angenommen, Sie haben ein Formular, das Sie verwenden, um Kundenbestellungen zu erledigen. In der Tabelle für Bestellungen (Orders) haben Sie ein Feld namens "ReceiveBefore", das das Datum enthält, bis zu dem die Bestellung beim Kunden eingetroffen sein muss. Sie können die DateDiff-Funktion mit einem Textfeld auf dem Formular verwenden, um die Anzahl von Tagen anzuzeigen, die verbleiben, bevor die Bestellung geliefert werden muss.

Wenn das Liefern einer Bestellung beispielsweise zehn Tage dauert, legen Sie die Steuerelementinhalt-Eigenschaft des Textfelds wie folgt fest:

=DateDiff("d", Now(), [Orders].[ReceiveBefore])-10

Wenn Sie das Formular in der Formularansicht öffnen, wird im Textfeld die Anzahl von Tagen angezeigt, die verbleiben, bevor die Bestellung geliefert werden muss. Wenn weniger als 10 Tage verbleiben, bevor die Bestellung beim Kunden eingetroffen sein muss, ist die Zahl im Textfeld negativ und gibt an, wie viele Tage die Bestellung später eintrifft, wenn sie sofort geliefert wird.

VBA-Beispiel

Verwenden der DatDiff-Funktion in VBA-Code    

In diesem Beispiel wird die DateDiff-Funktion verwendet, um die Anzahl von Tagen anzuzeigen, die zwischen dem jeweils angegebenen Datum und heute liegen.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Hinweis:  Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Lassen Sie uns bitte wissen, ob diese Informationen hilfreich für Sie waren. Hier finden Sie den englischen Artikel als Referenz.

Siehe auch

Auswählen der richtigen Datumsfunktion

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×