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
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Subtrahiert |
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Subtrahiert |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Quelle:
- DateAndTime.vb
- Quelle:
- DateAndTime.vb
- Quelle:
- DateAndTime.vb
Subtrahiert Date1
von Date2
, um einen langen Wert anzugeben, der die Anzahl der Zeitintervalle 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
verwenden möchten.
- 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 wert, der aus der FirstDayOfWeek-Aufzählung ausgewählt wird, die den ersten Tag der Woche angibt. Wenn nicht angegeben, wird Sunday verwendet.
- WeekOfYear
- FirstWeekOfYear
Wahlfrei. Ein Wert, der aus der FirstWeekOfYear-Aufzählung ausgewählt wird, die die erste Woche des Jahres angibt. Wenn nicht angegeben, wird Jan1 verwendet.
Gibt zurück
Ein langer Wert, der die Anzahl der Zeitintervalle zwischen zwei Date
Werten angibt.
Ausnahmen
Date1
, Date2
oder DayofWeek
liegt außerhalb des Bereichs.
Date1
oder Date2
ist ungültig.
Beispiele
In diesem Beispiel wird die funktion DateDiff
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 funktion DateDiff
können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Sie können z. B. DateDiff
verwenden, um die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres zu berechnen.
Benehmen
Behandlung von Parametern.
DateDiff
subtrahiert den WertDate1
vom WertDate2
, um die Differenz zu erzeugen. Im aufrufenden Programm wird kein Wert geändert.Rückgabewerte. Da
Date1
undDate2
denDate
Datentyp aufweisen, halten sie Datums- und Uhrzeitwerte auf 100-Nanosekunden-Ticks auf dem Systemtimer fest.DateDiff
gibt jedoch immer die Anzahl der Zeitintervalle alsLong
Wert zurück.Wenn
Date1
ein späteres Datum und eine spätere Uhrzeit alsDate2
darstellt, gibtDateDiff
eine negative Zahl zurück.Tagesintervalle. Wenn
Interval
aufDateInterval.DayOfYear
festgelegt ist, wird sie wieDateInterval.Day
behandelt, daDayOfYear
für ein Zeitintervall keine sinnvolle Einheit ist.Wochenintervalle. Wenn
Interval
aufDateInterval.WeekOfYear
festgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, derDate1
enthält, und dem ersten Tag der Woche, derDate2
enthält. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse vonDateInterval.Weekday
erzeugt.' 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)
Im vorherigen Beispiel gibt
DateDiff
0 biswD
zurück, da die Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, aber es wird 1 biswY
zurückgegeben, da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.Größere Intervalle. Wenn
Interval
aufDateInterval.Year
festgelegt ist, wird der Rückgabewert rein aus den JahresteilenDate1
undDate2
berechnet. Ebenso wird der Rückgabewert fürDateInterval.Month
rein aus den Argumenten Jahr und Monat berechnet, und fürDateInterval.Quarter
aus den Quartalen, die die beiden Datumswerte enthalten.Wenn sie beispielsweise den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, gibt
DateDiff
1 fürDateInterval.Year
,DateInterval.Quarter
oderDateInterval.Month
zurück, obwohl höchstens ein Tag verstrichen ist.Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die
DateDiff
-Methode in Jahren keinen Unterschied zurück, wenn der Unterschied zwei oder mehr Epochen umfasst. Stattdessen können Sie die Differenz in Werten berechnen, die von der Year-Eigenschaft zurückgegeben werden, wie im folgenden Beispiel gezeigt:date2.Year - date1.Year
.Andere Intervalle. Da jeder
Date
Wert von einer DateTime Struktur unterstützt wird, bieten ihnen die Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Beispielsweise können Sie dieSubtract
-Methode in einer der überladenen Formen verwenden: DateTime.Subtract subtrahiert eine TimeSpan von einerDate
Variablen, um einen anderenDate
Wert zurückzugeben, und DateTime.Subtract einenDate
Wert subtrahiert, um einen TimeSpanzurü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 argument Interval
kann eine der folgenden Einstellungen haben.
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 argument DayOfWeek
kann eine der folgenden Einstellungen haben.
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 argument WeekOfYear
kann eine der folgenden Einstellungen haben.
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
Subtrahiert Date1
von Date2
, um einen langen Wert anzugeben, der die Anzahl der Zeitintervalle 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
verwenden möchten.
- 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 wert, der aus der FirstDayOfWeek-Aufzählung ausgewählt wird, die den ersten Tag der Woche angibt. Wenn nicht angegeben, wird Sunday verwendet.
- WeekOfYear
- FirstWeekOfYear
Wahlfrei. Ein Wert, der aus der FirstWeekOfYear-Aufzählung ausgewählt wird, die die erste Woche des Jahres angibt. Wenn nicht angegeben, wird Jan1 verwendet.
Gibt zurück
Ein langer Wert, der die Anzahl der Zeitintervalle zwischen zwei Date
Werten angibt.
Ausnahmen
Date1
, Date2
oder DayofWeek
liegt außerhalb des Bereichs.
Date1
oder Date2
ist ungültig.
Beispiele
In diesem Beispiel wird die funktion DateDiff
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 funktion DateDiff
können Sie bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Sie können z. B. DateDiff
verwenden, um die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres zu berechnen.
Benehmen
Behandlung von Parametern.
DateDiff
subtrahiert den WertDate1
vom WertDate2
, um die Differenz zu erzeugen. Im aufrufenden Programm wird kein Wert geändert.Rückgabewerte. Da
Date1
undDate2
denDate
Datentyp aufweisen, halten sie Datums- und Uhrzeitwerte auf 100-Nanosekunden-Ticks auf dem Systemtimer fest.DateDiff
gibt jedoch immer die Anzahl der Zeitintervalle alsLong
Wert zurück.Wenn
Date1
ein späteres Datum und eine spätere Uhrzeit alsDate2
darstellt, gibtDateDiff
eine negative Zahl zurück.Tagesintervalle. Wenn
Interval
aufDateInterval.DayOfYear
festgelegt ist, wird sie wieDateInterval.Day
behandelt, daDayOfYear
für ein Zeitintervall keine sinnvolle Einheit ist.Wochenintervalle. Wenn
Interval
aufDateInterval.WeekOfYear
festgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Tag der Woche dar, derDate1
enthält, und dem ersten Tag der Woche, derDate2
enthält. Das folgende Beispiel zeigt, wie dies unterschiedliche Ergebnisse vonDateInterval.Weekday
erzeugt.' 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)
Im vorherigen Beispiel gibt
DateDiff
0 biswD
zurück, da die Differenz zwischen den beiden Datumsangaben kleiner als sieben Tage ist, aber es wird 1 biswY
zurückgegeben, da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Sieben-Tage-Unterschied besteht.Größere Intervalle. Wenn
Interval
aufDateInterval.Year
festgelegt ist, wird der Rückgabewert rein aus den JahresteilenDate1
undDate2
berechnet. Ebenso wird der Rückgabewert fürDateInterval.Month
rein aus den Argumenten Jahr und Monat berechnet, und fürDateInterval.Quarter
aus den Quartalen, die die beiden Datumswerte enthalten.Wenn sie beispielsweise den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, gibt
DateDiff
1 fürDateInterval.Year
,DateInterval.Quarter
oderDateInterval.Month
zurück, obwohl höchstens ein Tag verstrichen ist.Für Kulturen wie Japanisch, die mehrere Epochen haben, gibt die
DateDiff
-Methode in Jahren keinen Unterschied zurück, wenn der Unterschied zwei oder mehr Epochen umfasst. Stattdessen können Sie die Differenz in Werten berechnen, die von der Year-Eigenschaft zurückgegeben werden, wie im folgenden Beispiel gezeigt:date2.Year - date1.Year
.Andere Intervalle. Da jeder
Date
Wert von einer DateTime Struktur unterstützt wird, bieten ihnen die Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Beispielsweise können Sie dieSubtract
-Methode in einer der überladenen Formen verwenden: DateTime.Subtract subtrahiert eine TimeSpan von einerDate
Variablen, um einen anderenDate
Wert zurückzugeben, und DateTime.Subtract einenDate
Wert subtrahiert, um einen TimeSpanzurü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 argument Interval
kann eine der folgenden Einstellungen haben.
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 argument DayOfWeek
kann eine der folgenden Einstellungen haben.
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 argument WeekOfYear
kann eine der folgenden Einstellungen haben.
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)