DateAndTime.DateDiff Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een waarde die het aantal tijdsintervallen tussen twee Date waarden aangeeft.
Overloads
| Name | Description |
|---|---|
| DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Trekt af |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Trekt af |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
Trekt af Date1 van Date2 een lange waarde die het aantal tijdsintervallen tussen de twee Date waarden aangeeft.
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
Parameters
- Interval
- DateInterval
Required. Een DateInterval opsommingswaarde of een tekenreeksexpressie die het tijdsinterval aangeeft dat u wilt gebruiken als de eenheid van het verschil tussen Date1 en Date2.
- Date1
- DateTime
Required. De eerste datum/tijd-waarde die u wilt gebruiken in de berekening.
- Date2
- DateTime
Required. De tweede datum/tijd-waarde die u wilt gebruiken in de berekening.
- DayOfWeek
- FirstDayOfWeek
Optional. Een waarde die is gekozen uit de FirstDayOfWeek opsomming die de eerste dag van de week aangeeft. Als dit niet is opgegeven, wordt Sunday gebruikt.
- WeekOfYear
- FirstWeekOfYear
Optional. Een waarde die is gekozen uit de FirstWeekOfYear opsomming die de eerste week van het jaar aangeeft. Als dit niet is opgegeven, wordt Jan1 gebruikt.
Retouren
Een lange waarde die het aantal tijdsintervallen tussen twee Date waarden aangeeft.
Uitzonderingen
Date1of Date2DayofWeek valt buiten het bereik.
Date1 of Date2 is van een ongeldig type.
Voorbeelden
In dit voorbeeld wordt de DateDiff functie gebruikt om het aantal dagen tussen een bepaalde datum en vandaag weer te geven.
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
Opmerkingen
U kunt de DateDiff functie gebruiken om te bepalen hoeveel opgegeven tijdsintervallen er bestaan tussen twee datum-/tijdwaarden. U kunt bijvoorbeeld het DateDiff aantal dagen tussen twee datums of het aantal weken tussen vandaag en het einde van het jaar berekenen.
Gedrag
Behandeling van parameters.
DateDifftrekt de waarde van de waardeDate2vanDate1het verschil af. Geen van beide waarden wordt gewijzigd in het aanroepende programma.Retourwaarden. Omdat
Date1enDate2van hetDategegevenstype zijn, bevatten ze datum- en tijdwaarden die nauwkeurig zijn tot tikken van 100 nanoseconden op de systeemtimer.DateDiffRetourneert echter altijd het aantal tijdsintervallen als eenLongwaarde.Als
Date1dit een latere datum en tijd vertegenwoordigt danDate2,DateDiffwordt een negatief getal geretourneerd.Dagintervallen. Als
Intervaldit is ingesteldDateInterval.DayOfYearop , wordt deze hetzelfde behandeld alsDateInterval.Day, omdatDayOfYearhet geen zinvolle eenheid is voor een tijdsinterval.Weekintervallen. Als
Intervaldit is ingesteldDateInterval.WeekOfYearop, geeft de retourwaarde het aantal weken aan tussen de eerste dag van de week dieDate1en de eerste dag van de week die bevatDate2. In het volgende voorbeeld ziet u hoe dit verschillende resultaten produceert vanDateInterval.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)In het voorgaande voorbeeld
DateDiffwordt 0 geretourneerd omdatwDhet verschil tussen de twee datums kleiner is dan zeven dagen, maar het resultaat is 1wYomdat er een verschil van zeven dagen is tussen de eerste dagen van de respectieve kalenderweken.Grotere intervallen. Als
Intervalde waarde is ingesteldDateInterval.Yearop , wordt de retourwaarde uitsluitend berekend op basis van de jaaronderdelen enDate1Date2. Op dezelfde manier wordt de retourwaardeDateInterval.Monthuitsluitend berekend op basis van de jaar- en maandonderdelen van de argumenten en voorDateInterval.Quarterde kwartalen die de twee datums bevatten.Wanneer u bijvoorbeeld 31 december vergelijkt met 1 januari van het volgende jaar,
DateDiffwordt 1 voorDateInterval.Year,DateInterval.QuarterofDateInterval.Month, zelfs als er maximaal één dag is verstreken.Voor culturen zoals Japans die meerdere tijdperken hebben, retourneert de
DateDiffmethode geen verschil in jaren als het verschil twee of meer tijdperken omvat. In plaats daarvan kunt u het verschil berekenen in waarden die door de Year eigenschap worden geretourneerd, zoals wordt weergegeven in het volgende voorbeeld:date2.Year - date1.YearAndere intervallen. Omdat elke
Datewaarde wordt ondersteund door een DateTime structuur, bieden de bijbehorende methoden u extra opties bij het zoeken van tijdsintervallen. U kunt de methode bijvoorbeeld gebruiken in een van deSubtractoverbelaste formulieren: DateTime.Subtract trekt een TimeSpan variabele af van eenDatevariabele om een andereDatewaarde te retourneren en DateTime.Subtract trekt een waarde af om eenDateTimeSpanwaarde te retourneren. U kunt een proces tijd geven om erachter te komen hoeveel milliseconden het duurt, zoals in het volgende voorbeeld wordt weergegeven.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
Het Interval argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Stringwaarde | Tijdsverschil |
|---|---|---|
DateInterval.Day |
"d" | Day |
DateInterval.DayOfYear |
"y" | Day |
DateInterval.Hour |
"h" | Uur |
DateInterval.Minute |
"n" | Minuut |
DateInterval.Month |
"m" | Month |
DateInterval.Quarter |
"k" | Kwartaal |
DateInterval.Second |
s | Tweede |
DateInterval.Weekday |
"w" | Week |
DateInterval.WeekOfYear |
"ww" | Kalenderweek |
DateInterval.Year |
"yyyy" | Jaar |
Het DayOfWeek argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Value | Description |
|---|---|---|
FirstDayOfWeek.System |
0 | Eerste dag van de week die is opgegeven in systeeminstellingen |
FirstDayOfWeek.Sunday |
1 | Zondag (standaard) |
FirstDayOfWeek.Monday |
2 | Maandag (voldoet aan ISO-norm 8601, sectie 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Woensdag |
FirstDayOfWeek.Thursday |
5 | donderdag |
FirstDayOfWeek.Friday |
6 | Vrijdag |
FirstDayOfWeek.Saturday |
7 | Zaterdag |
Het WeekOfYear argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Value | Description |
|---|---|---|
FirstWeekOfYear.System |
0 | Eerste week van het jaar opgegeven in systeeminstellingen |
FirstWeekOfYear.Jan1 |
1 | Week waarin 1 januari plaatsvindt (standaard) |
FirstWeekOfYear.FirstFourDays |
2 | Week met ten minste vier dagen in het nieuwe jaar (voldoet aan ISO-norm 8601, sectie 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Eerste volledige week in het nieuwe jaar |
Zie ook
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Gegevenstypesamenvatting (Visual Basic)
Van toepassing op
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
Trekt af Date1 van Date2 een lange waarde die het aantal tijdsintervallen tussen de twee Date waarden aangeeft.
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
Parameters
- Interval
- String
Required. Een DateInterval opsommingswaarde of een tekenreeksexpressie die het tijdsinterval aangeeft dat u wilt gebruiken als de eenheid van het verschil tussen Date1 en Date2.
- Date1
- Object
Required. De eerste datum/tijd-waarde die u wilt gebruiken in de berekening.
- Date2
- Object
Required. De tweede datum/tijd-waarde die u wilt gebruiken in de berekening.
- DayOfWeek
- FirstDayOfWeek
Optional. Een waarde die is gekozen uit de FirstDayOfWeek opsomming die de eerste dag van de week aangeeft. Als dit niet is opgegeven, wordt Sunday gebruikt.
- WeekOfYear
- FirstWeekOfYear
Optional. Een waarde die is gekozen uit de FirstWeekOfYear opsomming die de eerste week van het jaar aangeeft. Als dit niet is opgegeven, wordt Jan1 gebruikt.
Retouren
Een lange waarde die het aantal tijdsintervallen tussen twee Date waarden aangeeft.
Uitzonderingen
Date1of Date2DayofWeek valt buiten het bereik.
Date1 of Date2 is van een ongeldig type.
Voorbeelden
In dit voorbeeld wordt de DateDiff functie gebruikt om het aantal dagen tussen een bepaalde datum en vandaag weer te geven.
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
Opmerkingen
U kunt de DateDiff functie gebruiken om te bepalen hoeveel opgegeven tijdsintervallen er bestaan tussen twee datum-/tijdwaarden. U kunt bijvoorbeeld het DateDiff aantal dagen tussen twee datums of het aantal weken tussen vandaag en het einde van het jaar berekenen.
Gedrag
Behandeling van parameters.
DateDifftrekt de waarde van de waardeDate2vanDate1het verschil af. Geen van beide waarden wordt gewijzigd in het aanroepende programma.Retourwaarden. Omdat
Date1enDate2van hetDategegevenstype zijn, bevatten ze datum- en tijdwaarden die nauwkeurig zijn tot tikken van 100 nanoseconden op de systeemtimer.DateDiffRetourneert echter altijd het aantal tijdsintervallen als eenLongwaarde.Als
Date1dit een latere datum en tijd vertegenwoordigt danDate2,DateDiffwordt een negatief getal geretourneerd.Dagintervallen. Als
Intervaldit is ingesteldDateInterval.DayOfYearop , wordt deze hetzelfde behandeld alsDateInterval.Day, omdatDayOfYearhet geen zinvolle eenheid is voor een tijdsinterval.Weekintervallen. Als
Intervaldit is ingesteldDateInterval.WeekOfYearop, geeft de retourwaarde het aantal weken aan tussen de eerste dag van de week dieDate1en de eerste dag van de week die bevatDate2. In het volgende voorbeeld ziet u hoe dit verschillende resultaten produceert vanDateInterval.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)In het voorgaande voorbeeld
DateDiffwordt 0 geretourneerd omdatwDhet verschil tussen de twee datums kleiner is dan zeven dagen, maar het resultaat is 1wYomdat er een verschil van zeven dagen is tussen de eerste dagen van de respectieve kalenderweken.Grotere intervallen. Als
Intervalde waarde is ingesteldDateInterval.Yearop , wordt de retourwaarde uitsluitend berekend op basis van de jaaronderdelen enDate1Date2. Op dezelfde manier wordt de retourwaardeDateInterval.Monthuitsluitend berekend op basis van de jaar- en maandonderdelen van de argumenten en voorDateInterval.Quarterde kwartalen die de twee datums bevatten.Wanneer u bijvoorbeeld 31 december vergelijkt met 1 januari van het volgende jaar,
DateDiffwordt 1 voorDateInterval.Year,DateInterval.QuarterofDateInterval.Month, zelfs als er maximaal één dag is verstreken.Voor culturen zoals Japans die meerdere tijdperken hebben, retourneert de
DateDiffmethode geen verschil in jaren als het verschil twee of meer tijdperken omvat. In plaats daarvan kunt u het verschil berekenen in waarden die door de Year eigenschap worden geretourneerd, zoals wordt weergegeven in het volgende voorbeeld:date2.Year - date1.YearAndere intervallen. Omdat elke
Datewaarde wordt ondersteund door een DateTime structuur, bieden de bijbehorende methoden u extra opties bij het zoeken van tijdsintervallen. U kunt de methode bijvoorbeeld gebruiken in een van deSubtractoverbelaste formulieren: DateTime.Subtract trekt een TimeSpan variabele af van eenDatevariabele om een andereDatewaarde te retourneren en DateTime.Subtract trekt een waarde af om eenDateTimeSpanwaarde te retourneren. U kunt een proces tijd geven om erachter te komen hoeveel milliseconden het duurt, zoals in het volgende voorbeeld wordt weergegeven.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
Het Interval argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Stringwaarde | Tijdsverschil |
|---|---|---|
DateInterval.Day |
"d" | Day |
DateInterval.DayOfYear |
"y" | Day |
DateInterval.Hour |
"h" | Uur |
DateInterval.Minute |
"n" | Minuut |
DateInterval.Month |
"m" | Month |
DateInterval.Quarter |
"k" | Kwartaal |
DateInterval.Second |
s | Tweede |
DateInterval.Weekday |
"w" | Week |
DateInterval.WeekOfYear |
"ww" | Kalenderweek |
DateInterval.Year |
"yyyy" | Jaar |
Het DayOfWeek argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Value | Description |
|---|---|---|
FirstDayOfWeek.System |
0 | Eerste dag van de week die is opgegeven in systeeminstellingen |
FirstDayOfWeek.Sunday |
1 | Zondag (standaard) |
FirstDayOfWeek.Monday |
2 | Maandag (voldoet aan ISO-norm 8601, sectie 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Woensdag |
FirstDayOfWeek.Thursday |
5 | donderdag |
FirstDayOfWeek.Friday |
6 | Vrijdag |
FirstDayOfWeek.Saturday |
7 | Zaterdag |
Het WeekOfYear argument kan een van de volgende instellingen hebben.
| Opsommingswaarde | Value | Description |
|---|---|---|
FirstWeekOfYear.System |
0 | Eerste week van het jaar opgegeven in systeeminstellingen |
FirstWeekOfYear.Jan1 |
1 | Week waarin 1 januari plaatsvindt (standaard) |
FirstWeekOfYear.FirstFourDays |
2 | Week met ten minste vier dagen in het nieuwe jaar (voldoet aan ISO-norm 8601, sectie 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Eerste volledige week in het nieuwe jaar |
Zie ook
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Gegevenstypesamenvatting (Visual Basic)