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 die erste Woche als die Woche angenommen, in der der 1. Januar stattfindet.

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.

Um die Anzahl der Tage zwischen Datum1 und Datum2zu berechnen, können Sie entweder "Tag des Jahres" ("y") oder "Tag" ("d") verwenden. Ist Intervall Wochentag ("w"), gibt DateDiff die Anzahl der Wochen zwischen den beiden Datumsangaben zurück. Wenn Datum1 auf einen Montag fällt, zählt DateDiff die Anzahl der Montage bis zum Datum2. Es zählt Datum2, aber nicht Datum1. Ist Intervall jedoch Woche ("ww"), gibt die #A0 die Anzahl der Kalenderwochen zwischen den beiden Datumsangaben zurück. Es zählt die Anzahl der Sonntage zwischen Datum1 undDatum2.DateDiff zähltDatum2, wenn es auf einen Sonntag fällt; datum1 wird jedoch nicht gezählt,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 Query

Ausdruck

Ergebnisse

SELECT DateDiff("yyyy";#01/01/2010#;[DateofSale]) AS Expr1 FROM ProductSales;

Gibt die Differenz zwischen Datum2 und Datum1 zurück (datum1 als ältestes Datum und Datum2 als neuestes Datum) als Anzahl von "Jahre". Ergebnis: Differenz zwischen den Werten im Feld "DateofSale" und dem Datum "01.01.2010" als Anzahl von "Jahre".

SELECT DateDiff("q";[DateofSale];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("y";[DateofSale];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("d";[DateofSale];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("w";[DateofSale];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("ww";[DateofSale];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("h";[DateTime];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("n";[DateTime];Date()) AS DaysSinceSale FROM ProductSales;

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

SELECT DateDiff("s";[DateTime];Date()) AS DaysSinceSale FROM 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 überall verwenden, wo 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

Auswählen der richtigen Datumsfunktion

Benötigen Sie weitere Hilfe?

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

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?

Was hat Ihre Erfahrung beeinflusst?

Haben Sie weiteres Feedback? (Optional)

Vielen Dank für Ihr Feedback!

×