Freigeben über


DateAndTime.DateDiff Methode

Definition

Gibt einen Wert zurück, der die Anzahl der Zeitintervalle zwischen zwei Date Werten angibt.

Überlädt

Name Beschreibung
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Subtrahiert von Date2 einem langen Wert, der die Anzahl der Zeitintervalle Date1 zwischen den beiden Date Werten angibt.

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Subtrahiert von Date2 einem langen Wert, der die Anzahl der Zeitintervalle Date1 zwischen den beiden Date Werten angibt.

DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)

Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb

Subtrahiert von Date2 einem langen Wert, der die Anzahl der Zeitintervalle Date1 zwischen den beiden Date Werten angibt.

public static long DateDiff(Microsoft.VisualBasic.DateInterval Interval, DateTime Date1, DateTime Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : Microsoft.VisualBasic.DateInterval * DateTime * DateTime * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long

Parameter

Interval
DateInterval

Erforderlich. Ein DateInterval Enumerationswert oder ein Zeichenfolgenausdruck, der das Zeitintervall darstellt, das Sie als Differenzeinheit zwischen Date1 und Date2.

Date1
DateTime

Erforderlich. Der erste Datums-/Uhrzeitwert, den Sie in der Berechnung verwenden möchten.

Date2
DateTime

Erforderlich. Der zweite Datums-/Uhrzeitwert, den Sie in der Berechnung verwenden möchten.

DayOfWeek
FirstDayOfWeek

Wahlfrei. Ein aus der FirstDayOfWeek Aufzählung ausgewählter Wert, der den ersten Wochentag angibt. Wenn dieser nicht angegeben wurde, wird Sunday verwendet.

WeekOfYear
FirstWeekOfYear

Wahlfrei. Ein aus der FirstWeekOfYear Aufzählung ausgewählter Wert, der die erste Woche des Jahres angibt. Wenn dieser nicht angegeben wurde, wird Jan1 verwendet.

Gibt zurück

Ein langer Wert, der die Anzahl der Zeitintervalle zwischen zwei Date Werten angibt.

Ausnahmen

Date1, Date2oder DayofWeek liegt außerhalb des Bereichs.

Date1 oder Date2 weist einen ungültigen Typ auf.

Beispiele

In diesem Beispiel wird die DateDiff Funktion verwendet, um die Anzahl der Tage zwischen einem bestimmten Datum und heute anzuzeigen.

Dim date2Entered As String = InputBox("Enter a date")

Try
    Dim date2 As Date = Date.Parse(date2Entered)
    Dim date1 As Date = Now

    ' Determine the number of days between the two dates.
    Dim days As Long = DateDiff(DateInterval.Day, date1, date2)

    ' This statement has a string interval argument, and
    ' is equivalent to the above statement.
    'Dim days As Long = DateDiff("d", date1, date2)

    MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
    MessageBox.Show("Invalid Date: " & ex.Message)
End Try

Hinweise

Mit der DateDiff Funktion können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Beispielsweise können DateDiff Sie die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres berechnen.

Benehmen

  • Behandlung von Parametern. DateDiff Subtrahiert den Wert von Date1 dem Wert, Date2 von dem der Unterschied erzeugt werden soll. Im aufrufenden Programm wird kein Wert geändert.

  • Rückgabewerte. Da Date1 sie vom Date Datentyp sind, halten sie DatumsDate2- und Uhrzeitwerte auf 100-Nanosekunden-Ticks im Systemtimer fest. DateDiff Gibt jedoch immer die Anzahl der Zeitintervalle als Long Wert zurück.

    Wenn Date1 ein späteres Datum und eine spätere Uhrzeit als Date2, DateDiff gibt eine negative Zahl zurück.

  • Tagesintervalle. Wenn dieser Wert auf DateInterval.DayOfYearInterval festgelegt ist, wird er genauso behandelt wie DateInterval.Day, da DayOfYear es sich nicht um eine sinnvolle Einheit für ein Zeitintervall handelt.

  • Wochenintervalle. Wenn dieser Wert auf DateInterval.WeekOfYearInterval festgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, der den ersten Tag der Woche enthält Date1Date2. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse erzeugt von DateInterval.Weekday.

    ' The following statements set datTim1 to a Thursday
    ' and datTim2 to the following Tuesday.
    Dim datTim1 As Date = #1/4/2001#
    Dim datTim2 As Date = #1/9/2001#
    ' Assume Sunday is specified as first day of the week.
    Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2)
    Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
    

    Gibt im vorherigen Beispiel "0" zurück, DateDiff da wD die Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, es wird jedoch 1 zurückgegeben wY , da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.

  • Größere Intervalle. Wenn dieser Wert auf DateInterval.YearInterval festgelegt ist, wird der Rückgabewert rein aus den Jahresteilen und Date1 -Date2werten berechnet. Ebenso wird der Rückgabewert DateInterval.Month nur aus den Argumenten Jahr und Monat und für DateInterval.Quarter die Quartale berechnet, die die beiden Datumsangaben enthalten.

    Wenn Sie z. B. den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, DateDiff wird 1 für DateInterval.Year, DateInterval.Quarteroder DateInterval.Month, auch wenn höchstens ein Tag verstrichen ist, zurückgegeben.

    Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die DateDiff Methode keinen Unterschied in Jahren zurück, wenn der Unterschied zwei oder mehr Epochen umfasst. Stattdessen können Sie die Differenz der von der Year Eigenschaft zurückgegebenen Werte berechnen, wie im folgenden Beispiel gezeigt: date2.Year - date1.Year

  • Andere Intervalle. Da jeder Date Wert von einer DateTime Struktur unterstützt wird, bieten ihnen seine Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Sie können die Subtract Methode beispielsweise in einer der überladenen Formen verwenden: DateTime.Subtract Subtrahiert eine TimeSpan von einer Date Variablen, um einen anderen Date Wert zurückzugeben, und DateTime.Subtract subtrahiert einen Date Wert, um einen TimeSpanWert zurückzugeben. Sie können einen Prozess zeitieren, um herauszufinden, wie viele Millisekunden es benötigt, wie im folgenden Beispiel gezeigt.

    Dim startTime As Date = Now
    ' Run the process that is to be timed.
    Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime)
    Dim millisecs As Double = runLength.TotalMilliseconds
    

Das Interval Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Zeichenfolgenwert Einheit der Zeitdifferenz
DateInterval.Day "d" Tag
DateInterval.DayOfYear "y" Tag
DateInterval.Hour "h" Stunde
DateInterval.Minute "n" Minute
DateInterval.Month "m" Monat
DateInterval.Quarter "q" Viertel
DateInterval.Second "s" Sekunde
DateInterval.Weekday "w" Woche
DateInterval.WeekOfYear "ww" Kalenderwoche
DateInterval.Year "yyyy" Jahr

Das DayOfWeek Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Wert Beschreibung
FirstDayOfWeek.System 0 Erster Wochentag, der in den Systemeinstellungen angegeben ist
FirstDayOfWeek.Sunday 1 Sonntag (Standard)
FirstDayOfWeek.Monday 2 Montag (entspricht dem ISO-Standard 8601, Abschnitt 3.17)
FirstDayOfWeek.Tuesday 3 Dienstag
FirstDayOfWeek.Wednesday 4 Mittwoch
FirstDayOfWeek.Thursday 5 Donnerstag
FirstDayOfWeek.Friday 6 Freitag
FirstDayOfWeek.Saturday 7 Samstag

Das WeekOfYear Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Wert Beschreibung
FirstWeekOfYear.System 0 Erste Woche des Jahres, die in den Systemeinstellungen angegeben ist
FirstWeekOfYear.Jan1 1 Woche, in der der 1. Januar eintritt (Standard)
FirstWeekOfYear.FirstFourDays 2 Woche mit mindestens vier Tagen im neuen Jahr (entspricht dem ISO-Standard 8601, Abschnitt 3.17)
FirstWeekOfYear.FirstFullWeek 3 Erste volle Woche im neuen Jahr

Weitere Informationen

Gilt für:

DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)

Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb
Quelle:
DateAndTime.vb

Subtrahiert von Date2 einem langen Wert, der die Anzahl der Zeitintervalle Date1 zwischen den beiden Date Werten angibt.

public static long DateDiff(string Interval, object? Date1, object? Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
public static long DateDiff(string Interval, object Date1, object Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : string * obj * obj * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As String, Date1 As Object, Date2 As Object, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long

Parameter

Interval
String

Erforderlich. Ein DateInterval Enumerationswert oder ein Zeichenfolgenausdruck, der das Zeitintervall darstellt, das Sie als Differenzeinheit zwischen Date1 und Date2.

Date1
Object

Erforderlich. Der erste Datums-/Uhrzeitwert, den Sie in der Berechnung verwenden möchten.

Date2
Object

Erforderlich. Der zweite Datums-/Uhrzeitwert, den Sie in der Berechnung verwenden möchten.

DayOfWeek
FirstDayOfWeek

Wahlfrei. Ein aus der FirstDayOfWeek Aufzählung ausgewählter Wert, der den ersten Wochentag angibt. Wenn dieser nicht angegeben wurde, wird Sunday verwendet.

WeekOfYear
FirstWeekOfYear

Wahlfrei. Ein aus der FirstWeekOfYear Aufzählung ausgewählter Wert, der die erste Woche des Jahres angibt. Wenn dieser nicht angegeben wurde, wird Jan1 verwendet.

Gibt zurück

Ein langer Wert, der die Anzahl der Zeitintervalle zwischen zwei Date Werten angibt.

Ausnahmen

Date1, Date2oder DayofWeek liegt außerhalb des Bereichs.

Date1 oder Date2 weist einen ungültigen Typ auf.

Beispiele

In diesem Beispiel wird die DateDiff Funktion verwendet, um die Anzahl der Tage zwischen einem bestimmten Datum und heute anzuzeigen.

Dim date2Entered As String = InputBox("Enter a date")

Try
    Dim date2 As Date = Date.Parse(date2Entered)
    Dim date1 As Date = Now

    ' Determine the number of days between the two dates.
    Dim days As Long = DateDiff(DateInterval.Day, date1, date2)

    ' This statement has a string interval argument, and
    ' is equivalent to the above statement.
    'Dim days As Long = DateDiff("d", date1, date2)

    MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
    MessageBox.Show("Invalid Date: " & ex.Message)
End Try

Hinweise

Mit der DateDiff Funktion können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Beispielsweise können DateDiff Sie die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres berechnen.

Benehmen

  • Behandlung von Parametern. DateDiff Subtrahiert den Wert von Date1 dem Wert, Date2 von dem der Unterschied erzeugt werden soll. Im aufrufenden Programm wird kein Wert geändert.

  • Rückgabewerte. Da Date1 sie vom Date Datentyp sind, halten sie DatumsDate2- und Uhrzeitwerte auf 100-Nanosekunden-Ticks im Systemtimer fest. DateDiff Gibt jedoch immer die Anzahl der Zeitintervalle als Long Wert zurück.

    Wenn Date1 ein späteres Datum und eine spätere Uhrzeit als Date2, DateDiff gibt eine negative Zahl zurück.

  • Tagesintervalle. Wenn dieser Wert auf DateInterval.DayOfYearInterval festgelegt ist, wird er genauso behandelt wie DateInterval.Day, da DayOfYear es sich nicht um eine sinnvolle Einheit für ein Zeitintervall handelt.

  • Wochenintervalle. Wenn dieser Wert auf DateInterval.WeekOfYearInterval festgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, der den ersten Tag der Woche enthält Date1Date2. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse erzeugt von DateInterval.Weekday.

    ' The following statements set datTim1 to a Thursday
    ' and datTim2 to the following Tuesday.
    Dim datTim1 As Date = #1/4/2001#
    Dim datTim2 As Date = #1/9/2001#
    ' Assume Sunday is specified as first day of the week.
    Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2)
    Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
    

    Gibt im vorherigen Beispiel "0" zurück, DateDiff da wD die Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, es wird jedoch 1 zurückgegeben wY , da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.

  • Größere Intervalle. Wenn dieser Wert auf DateInterval.YearInterval festgelegt ist, wird der Rückgabewert rein aus den Jahresteilen und Date1 -Date2werten berechnet. Ebenso wird der Rückgabewert DateInterval.Month nur aus den Argumenten Jahr und Monat und für DateInterval.Quarter die Quartale berechnet, die die beiden Datumsangaben enthalten.

    Wenn Sie z. B. den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, DateDiff wird 1 für DateInterval.Year, DateInterval.Quarteroder DateInterval.Month, auch wenn höchstens ein Tag verstrichen ist, zurückgegeben.

    Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die DateDiff Methode keinen Unterschied in Jahren zurück, wenn der Unterschied zwei oder mehr Epochen umfasst. Stattdessen können Sie die Differenz der von der Year Eigenschaft zurückgegebenen Werte berechnen, wie im folgenden Beispiel gezeigt: date2.Year - date1.Year

  • Andere Intervalle. Da jeder Date Wert von einer DateTime Struktur unterstützt wird, bieten ihnen seine Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Sie können die Subtract Methode beispielsweise in einer der überladenen Formen verwenden: DateTime.Subtract Subtrahiert eine TimeSpan von einer Date Variablen, um einen anderen Date Wert zurückzugeben, und DateTime.Subtract subtrahiert einen Date Wert, um einen TimeSpanWert zurückzugeben. Sie können einen Prozess zeitieren, um herauszufinden, wie viele Millisekunden es benötigt, wie im folgenden Beispiel gezeigt.

    Dim startTime As Date = Now
    ' Run the process that is to be timed.
    Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime)
    Dim millisecs As Double = runLength.TotalMilliseconds
    

Das Interval Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Zeichenfolgenwert Einheit der Zeitdifferenz
DateInterval.Day "d" Tag
DateInterval.DayOfYear "y" Tag
DateInterval.Hour "h" Stunde
DateInterval.Minute "n" Minute
DateInterval.Month "m" Monat
DateInterval.Quarter "q" Viertel
DateInterval.Second "s" Sekunde
DateInterval.Weekday "w" Woche
DateInterval.WeekOfYear "ww" Kalenderwoche
DateInterval.Year "yyyy" Jahr

Das DayOfWeek Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Wert Beschreibung
FirstDayOfWeek.System 0 Erster Wochentag, der in den Systemeinstellungen angegeben ist
FirstDayOfWeek.Sunday 1 Sonntag (Standard)
FirstDayOfWeek.Monday 2 Montag (entspricht dem ISO-Standard 8601, Abschnitt 3.17)
FirstDayOfWeek.Tuesday 3 Dienstag
FirstDayOfWeek.Wednesday 4 Mittwoch
FirstDayOfWeek.Thursday 5 Donnerstag
FirstDayOfWeek.Friday 6 Freitag
FirstDayOfWeek.Saturday 7 Samstag

Das WeekOfYear Argument kann über eine der folgenden Einstellungen verfügen.

Enumerationswert Wert Beschreibung
FirstWeekOfYear.System 0 Erste Woche des Jahres, die in den Systemeinstellungen angegeben ist
FirstWeekOfYear.Jan1 1 Woche, in der der 1. Januar eintritt (Standard)
FirstWeekOfYear.FirstFourDays 2 Woche mit mindestens vier Tagen im neuen Jahr (entspricht dem ISO-Standard 8601, Abschnitt 3.17)
FirstWeekOfYear.FirstFullWeek 3 Erste volle Woche im neuen Jahr

Weitere Informationen

Gilt für: