DateAndTime.DateDiff Methode

Definitie

Retourneert een waarde die het aantal tijdsintervallen tussen twee Date waarden aangeeft.

Overloads

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

Trekt af Date1 van Date2 een lange waarde die het aantal tijdsintervallen tussen de twee Date waarden aangeeft.

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

Trekt af Date1 van Date2 een lange waarde die het aantal tijdsintervallen tussen de twee Date waarden aangeeft.

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 waarde Date2 van Date1 het verschil af. Geen van beide waarden wordt gewijzigd in het aanroepende programma.

  • Retourwaarden. Omdat Date1 en Date2 van het Date gegevenstype zijn, bevatten ze datum- en tijdwaarden die nauwkeurig zijn tot tikken van 100 nanoseconden op de systeemtimer. DateDiff Retourneert echter altijd het aantal tijdsintervallen als een Long waarde.

    Als Date1 dit een latere datum en tijd vertegenwoordigt dan Date2, DateDiff wordt een negatief getal geretourneerd.

  • Dagintervallen. Als Interval dit is ingesteld DateInterval.DayOfYearop , wordt deze hetzelfde behandeld als DateInterval.Day, omdat DayOfYear het geen zinvolle eenheid is voor een tijdsinterval.

  • Weekintervallen. Als Interval dit is ingesteld DateInterval.WeekOfYearop, geeft de retourwaarde het aantal weken aan tussen de eerste dag van de week die Date1 en de eerste dag van de week die bevat Date2. In het volgende voorbeeld ziet u hoe dit verschillende resultaten produceert van 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)
    

    In het voorgaande voorbeeld DateDiff wordt 0 geretourneerd omdat wD het verschil tussen de twee datums kleiner is dan zeven dagen, maar het resultaat is 1 wY omdat er een verschil van zeven dagen is tussen de eerste dagen van de respectieve kalenderweken.

  • Grotere intervallen. Als Interval de waarde is ingesteld DateInterval.Yearop , wordt de retourwaarde uitsluitend berekend op basis van de jaaronderdelen en Date1Date2. Op dezelfde manier wordt de retourwaarde DateInterval.Month uitsluitend berekend op basis van de jaar- en maandonderdelen van de argumenten en voor DateInterval.Quarter de kwartalen die de twee datums bevatten.

    Wanneer u bijvoorbeeld 31 december vergelijkt met 1 januari van het volgende jaar, DateDiff wordt 1 voor DateInterval.Year, DateInterval.Quarterof DateInterval.Month, zelfs als er maximaal één dag is verstreken.

    Voor culturen zoals Japans die meerdere tijdperken hebben, retourneert de DateDiff methode 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.Year

  • Andere intervallen. Omdat elke Date waarde 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 de Subtract overbelaste formulieren: DateTime.Subtract trekt een TimeSpan variabele af van een Date variabele om een andere Date waarde te retourneren en DateTime.Subtract trekt een waarde af om een DateTimeSpanwaarde 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

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 waarde Date2 van Date1 het verschil af. Geen van beide waarden wordt gewijzigd in het aanroepende programma.

  • Retourwaarden. Omdat Date1 en Date2 van het Date gegevenstype zijn, bevatten ze datum- en tijdwaarden die nauwkeurig zijn tot tikken van 100 nanoseconden op de systeemtimer. DateDiff Retourneert echter altijd het aantal tijdsintervallen als een Long waarde.

    Als Date1 dit een latere datum en tijd vertegenwoordigt dan Date2, DateDiff wordt een negatief getal geretourneerd.

  • Dagintervallen. Als Interval dit is ingesteld DateInterval.DayOfYearop , wordt deze hetzelfde behandeld als DateInterval.Day, omdat DayOfYear het geen zinvolle eenheid is voor een tijdsinterval.

  • Weekintervallen. Als Interval dit is ingesteld DateInterval.WeekOfYearop, geeft de retourwaarde het aantal weken aan tussen de eerste dag van de week die Date1 en de eerste dag van de week die bevat Date2. In het volgende voorbeeld ziet u hoe dit verschillende resultaten produceert van 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)
    

    In het voorgaande voorbeeld DateDiff wordt 0 geretourneerd omdat wD het verschil tussen de twee datums kleiner is dan zeven dagen, maar het resultaat is 1 wY omdat er een verschil van zeven dagen is tussen de eerste dagen van de respectieve kalenderweken.

  • Grotere intervallen. Als Interval de waarde is ingesteld DateInterval.Yearop , wordt de retourwaarde uitsluitend berekend op basis van de jaaronderdelen en Date1Date2. Op dezelfde manier wordt de retourwaarde DateInterval.Month uitsluitend berekend op basis van de jaar- en maandonderdelen van de argumenten en voor DateInterval.Quarter de kwartalen die de twee datums bevatten.

    Wanneer u bijvoorbeeld 31 december vergelijkt met 1 januari van het volgende jaar, DateDiff wordt 1 voor DateInterval.Year, DateInterval.Quarterof DateInterval.Month, zelfs als er maximaal één dag is verstreken.

    Voor culturen zoals Japans die meerdere tijdperken hebben, retourneert de DateDiff methode 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.Year

  • Andere intervallen. Omdat elke Date waarde 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 de Subtract overbelaste formulieren: DateTime.Subtract trekt een TimeSpan variabele af van een Date variabele om een andere Date waarde te retourneren en DateTime.Subtract trekt een waarde af om een DateTimeSpanwaarde 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

Van toepassing op