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 angibt, das Sie als Einheit für die Differenz zwischen Date1
und Date2
verwenden möchten.
- Date1
- DateTime
Erforderlich. Der erste Datums-/Zeitwert, den Sie bei der Berechnung verwenden möchten.
- Date2
- DateTime
Erforderlich. Der zweite Datums-/Zeitwert, den Sie bei der Berechnung verwenden möchten.
- DayOfWeek
- FirstDayOfWeek
Dies ist optional. Ein Wert aus der FirstDayOfWeek-Enumeration, der den ersten Tag der Woche angibt. Wenn dieser nicht angegeben wurde, wird Sunday verwendet.
- WeekOfYear
- FirstWeekOfYear
Dies ist optional. Ein Wert aus der FirstWeekOfYear-Enumeration, der die erste Woche des Jahres angibt. Wenn dieser nicht angegeben wurde, wird Jan1 verwendet.
Gibt zurück
Ein Long-Wert, der die Anzahl der Zeitintervalle zwischen zwei Date
-Werten angibt.
Ausnahmen
Date1
, Date2
oder DayofWeek
liegt außerhalb des Bereichs.
Date1
oder Date2
hat einen ungültigen Typ.
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
Sie können die DateDiff
Funktion verwenden, um zu bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Sie können DateDiff
beispielsweise verwenden, um die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres zu berechnen.
Verhalten
Behandlung von Parametern.
DateDiff
subtrahiert den Wert vonDate1
vom Wert vonDate2
, um die Differenz zu erzeugen. Keiner der Werte wird im aufrufenden Programm geändert.Gibt Werte zurück. Da
Date1
undDate2
vom Datentyp sind, enthalten sie Datums- und Uhrzeitwerte, dieDate
auf 100 Nanosekunden-Ticks auf dem Systemtimer genau sind. Gibt jedochDateDiff
immer die Anzahl von Zeitintervallen als Wert zurückLong
.Wenn
Date1
ein späteres Datum und eine spätere UhrzeitDate2
als darstellt,DateDiff
wird eine negative Zahl zurückgegeben.Tagesintervalle. Wenn
Interval
aufDateInterval.DayOfYear
festgelegt ist, wird es gleich behandelt wieDateInterval.Day
, daDayOfYear
es sich nicht um eine aussagekräftige Einheit für ein Zeitintervall handelt.Wochenintervalle. Wenn
Interval
aufDateInterval.WeekOfYear
festgelegt ist, stellt der Rückgabewert die Anzahl der Wochen zwischen dem ersten Wochentag mitDate1
und dem ersten Wochentag dar, der enthältDate2
. Das folgende Beispiel zeigt, wie dadurch unterschiedliche Ergebnisse von erzeugt werdenDateInterval.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)
Im vorherigen Beispiel gibt 0 bis
wD
zurück,DateDiff
da der Unterschied zwischen den beiden Datumsangaben weniger als sieben Tage beträgt, aber 1 biswY
zurückgegeben wird, da zwischen den ersten Tagen der jeweiligen Kalenderwochen ein Unterschied von sieben Tagen besteht.Größere Intervalle. Wenn
Interval
aufDateInterval.Year
festgelegt ist, wird der Rückgabewert ausschließlich aus den Jahresteilen vonDate1
undDate2
berechnet. Ebenso wird der Rückgabewert fürDateInterval.Month
ausschließlich aus den Jahres- und Monatsteilen der Argumente und fürDateInterval.Quarter
aus den Quartalen berechnet, die die beiden Datumsangaben enthalten.Wenn Sie beispielsweise den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, gibt 1 für
DateInterval.Year
,DateInterval.Quarter
oderDateInterval.Month
zurück,DateDiff
obwohl höchstens nur ein Tag verstrichen ist.Für Kulturen wie Japaner, 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 deren Methoden zusätzliche Optionen beim Suchen 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 subtrahiert einenDate
Wert, um einen TimeSpanzurückzugeben. Sie können einen Prozess zeitieren, um herauszufinden, wie viele Millisekunden benötigt werden, wie das folgende Beispiel zeigt.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" | Month (Monat) |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | Woche |
DateInterval.WeekOfYear |
"ww" | Kalenderwoche |
DateInterval.Year |
"yyyy" | Year |
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 ISO-Norm 8601, Abschnitt 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Wednesday |
FirstDayOfWeek.Thursday |
5 | Thursday |
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 auftritt (Standard) |
FirstWeekOfYear.FirstFourDays |
2 | Woche mit mindestens vier Tagen im neuen Jahr (entspricht ISO-Norm 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
- Datentyp: Zusammenfassung (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 zu erhalten, 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 angibt, das Sie als Einheit für die Differenz zwischen Date1
und Date2
verwenden möchten.
- Date1
- Object
Erforderlich. Der erste Datums-/Zeitwert, den Sie bei der Berechnung verwenden möchten.
- Date2
- Object
Erforderlich. Der zweite Datums-/Zeitwert, den Sie bei der Berechnung verwenden möchten.
- DayOfWeek
- FirstDayOfWeek
Dies ist optional. Ein Wert aus der FirstDayOfWeek-Enumeration, der den ersten Tag der Woche angibt. Wenn dieser nicht angegeben wurde, wird Sunday verwendet.
- WeekOfYear
- FirstWeekOfYear
Dies ist optional. Ein Wert aus der FirstWeekOfYear-Enumeration, der die erste Woche des Jahres angibt. Wenn dieser nicht angegeben wurde, wird Jan1 verwendet.
Gibt zurück
Ein Long-Wert, der die Anzahl der Zeitintervalle zwischen zwei Date
-Werten angibt.
Ausnahmen
Date1
, Date2
oder DayofWeek
liegt außerhalb des Bereichs.
Date1
oder Date2
hat einen ungültigen Typ.
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
Sie können die DateDiff
-Funktion verwenden, um zu bestimmen, wie viele angegebene Zeitintervalle zwischen zwei Datums-/Uhrzeitwerten vorhanden sind. Sie können beispielsweise verwenden DateDiff
, um die Anzahl der Tage zwischen zwei Datumsangaben oder die Anzahl der Wochen zwischen heute und dem Ende des Jahres zu berechnen.
Verhalten
Behandlung von Parametern.
DateDiff
subtrahiert den Wert vonDate1
vom Wert vonDate2
, um die Differenz zu erzeugen. Keiner der Werte wird im aufrufenden Programm geändert.Rückgabewerte. Da
Date1
undDate2
vomDate
Datentyp sind, enthalten sie Datums- und Uhrzeitwerte, die auf 100 Nanosekunden-Ticks auf dem Systemtimer genau sind. Gibt jedochDateDiff
immer die Anzahl der Zeitintervalle als Wert zurückLong
.Wenn
Date1
ein späteres Datum und eine spätere Uhrzeit alsDate2
darstellt,DateDiff
gibt eine negative Zahl zurück.Tagesintervalle. Wenn
Interval
aufDateInterval.DayOfYear
festgelegt ist, wird es genauso behandelt wieDateInterval.Day
, 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 mitDate1
und dem ersten Tag der Woche dar, der enthältDate2
. Das folgende Beispiel zeigt, wie dadurch unterschiedliche Ergebnisse von erzeugt werdenDateInterval.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)
Im vorherigen Beispiel gibt 0 bis zurück,
DateDiff
da der Unterschied 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-UnterschiedwD
besteht.Größere Intervalle. Wenn
Interval
aufDateInterval.Year
festgelegt ist, wird der Rückgabewert ausschließlich aus den Jahresteilen vonDate1
undDate2
berechnet. Ebenso wird der Rückgabewert fürDateInterval.Month
ausschließlich aus den Jahres- und Monatsteilen der Argumente und für ausDateInterval.Quarter
den Quartalen berechnet, die die beiden Datumsangaben enthalten.Wenn Sie beispielsweise den 31. Dezember mit dem 1. Januar des folgenden Jahres vergleichen, gibt 1 für
DateInterval.Year
,DateInterval.Quarter
oderDateInterval.Month
zurück,DateDiff
obwohl höchstens ein Tag abgelaufen ist.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 die zugehörigen Methoden zusätzliche Optionen beim Auffinden von Zeitintervallen. Beispielsweise können Sie dieSubtract
-Methode in einer ihrer überladenen Formen verwenden: DateTime.Subtract subtrahiert ein TimeSpan von einerDate
Variablen, um einen anderenDate
Wert zurückzugeben, und DateTime.Subtract subtrahiert einenDate
Wert, um zurückzugeben.TimeSpan Sie können einen Prozess mit einer Zeitdauer ermitteln, wie viele Millisekunden er 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 | Zeiteinheit |
---|---|---|
DateInterval.Day |
"d" | Tag |
DateInterval.DayOfYear |
"y" | Tag |
DateInterval.Hour |
"h" | Stunde |
DateInterval.Minute |
"n" | Minute |
DateInterval.Month |
"m" | Month (Monat) |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | Woche |
DateInterval.WeekOfYear |
"ww" | Kalenderwoche |
DateInterval.Year |
"yyyy" | Year |
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 ISO-Norm 8601, Abschnitt 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Wednesday |
FirstDayOfWeek.Thursday |
5 | Thursday |
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 auftritt (Standard) |
FirstWeekOfYear.FirstFourDays |
2 | Woche mit mindestens vier Tagen im neuen Jahr (entspricht ISO-Norm 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
- Datentyp: Zusammenfassung (Visual Basic)
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für