DateAndTime.DateDiff Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Subtrahiert von |
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.
DateDiffSubtrahiert den Wert vonDate1dem Wert,Date2von dem der Unterschied erzeugt werden soll. Im aufrufenden Programm wird kein Wert geändert.Rückgabewerte. Da
Date1sie vomDateDatentyp sind, halten sie DatumsDate2- und Uhrzeitwerte auf 100-Nanosekunden-Ticks im Systemtimer fest.DateDiffGibt jedoch immer die Anzahl der Zeitintervalle alsLongWert zurück.Wenn
Date1ein späteres Datum und eine spätere Uhrzeit alsDate2,DateDiffgibt eine negative Zahl zurück.Tagesintervalle. Wenn dieser Wert auf
DateInterval.DayOfYearIntervalfestgelegt ist, wird er genauso behandelt wieDateInterval.Day, daDayOfYeares sich nicht um eine sinnvolle Einheit für ein Zeitintervall handelt.Wochenintervalle. Wenn dieser Wert auf
DateInterval.WeekOfYearIntervalfestgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, der den ersten Tag der Woche enthältDate1Date2. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse erzeugt vonDateInterval.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,
DateDiffdawDdie Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, es wird jedoch 1 zurückgegebenwY, da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.Größere Intervalle. Wenn dieser Wert auf
DateInterval.YearIntervalfestgelegt ist, wird der Rückgabewert rein aus den Jahresteilen undDate1-Date2werten berechnet. Ebenso wird der RückgabewertDateInterval.Monthnur aus den Argumenten Jahr und Monat und fürDateInterval.Quarterdie Quartale berechnet, die die beiden Datumsangaben enthalten.Wenn Sie z. B. den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen,
DateDiffwird 1 fürDateInterval.Year,DateInterval.QuarteroderDateInterval.Month, auch wenn höchstens ein Tag verstrichen ist, zurückgegeben.Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die
DateDiffMethode 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.YearAndere Intervalle. Da jeder
DateWert von einer DateTime Struktur unterstützt wird, bieten ihnen seine Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Sie können dieSubtractMethode beispielsweise in einer der überladenen Formen verwenden: DateTime.Subtract Subtrahiert eine TimeSpan von einerDateVariablen, um einen anderenDateWert zurückzugeben, und DateTime.Subtract subtrahiert einenDateWert, 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
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Zusammenfassung des Datentyps (Visual Basic)
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.
DateDiffSubtrahiert den Wert vonDate1dem Wert,Date2von dem der Unterschied erzeugt werden soll. Im aufrufenden Programm wird kein Wert geändert.Rückgabewerte. Da
Date1sie vomDateDatentyp sind, halten sie DatumsDate2- und Uhrzeitwerte auf 100-Nanosekunden-Ticks im Systemtimer fest.DateDiffGibt jedoch immer die Anzahl der Zeitintervalle alsLongWert zurück.Wenn
Date1ein späteres Datum und eine spätere Uhrzeit alsDate2,DateDiffgibt eine negative Zahl zurück.Tagesintervalle. Wenn dieser Wert auf
DateInterval.DayOfYearIntervalfestgelegt ist, wird er genauso behandelt wieDateInterval.Day, daDayOfYeares sich nicht um eine sinnvolle Einheit für ein Zeitintervall handelt.Wochenintervalle. Wenn dieser Wert auf
DateInterval.WeekOfYearIntervalfestgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, der den ersten Tag der Woche enthältDate1Date2. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse erzeugt vonDateInterval.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,
DateDiffdawDdie Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, es wird jedoch 1 zurückgegebenwY, da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.Größere Intervalle. Wenn dieser Wert auf
DateInterval.YearIntervalfestgelegt ist, wird der Rückgabewert rein aus den Jahresteilen undDate1-Date2werten berechnet. Ebenso wird der RückgabewertDateInterval.Monthnur aus den Argumenten Jahr und Monat und fürDateInterval.Quarterdie Quartale berechnet, die die beiden Datumsangaben enthalten.Wenn Sie z. B. den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen,
DateDiffwird 1 fürDateInterval.Year,DateInterval.QuarteroderDateInterval.Month, auch wenn höchstens ein Tag verstrichen ist, zurückgegeben.Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die
DateDiffMethode 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.YearAndere Intervalle. Da jeder
DateWert von einer DateTime Struktur unterstützt wird, bieten ihnen seine Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Sie können dieSubtractMethode beispielsweise in einer der überladenen Formen verwenden: DateTime.Subtract Subtrahiert eine TimeSpan von einerDateVariablen, um einen anderenDateWert zurückzugeben, und DateTime.Subtract subtrahiert einenDateWert, 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
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Zusammenfassung des Datentyps (Visual Basic)