DateAndTime.DateDiff Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett värde som anger antalet tidsintervall mellan två Date värden.
Överlagringar
| Name | Description |
|---|---|
| DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Subtraherar |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Subtraherar |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
Subtraherar Date1 från Date2 för att ge ett långt värde som anger antalet tidsintervall mellan de två Date värdena.
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
Parametrar
- Interval
- DateInterval
Required. Ett DateInterval uppräkningsvärde eller ett stränguttryck som representerar det tidsintervall som du vill använda som skillnadenhet mellan Date1 och Date2.
- Date1
- DateTime
Required. Det första datum/tid-värde som du vill använda i beräkningen.
- Date2
- DateTime
Required. Det andra datum/tid-värdet som du vill använda i beräkningen.
- DayOfWeek
- FirstDayOfWeek
Optional. Ett värde som väljs från FirstDayOfWeek uppräkningen som anger den första dagen i veckan. Om det inte anges används Sunday.
- WeekOfYear
- FirstWeekOfYear
Optional. Ett värde som valts från FirstWeekOfYear uppräkningen som anger årets första vecka. Om det inte anges används Jan1.
Returer
Ett långt värde som anger antalet tidsintervall mellan två Date värden.
Undantag
Date1, Date2, eller DayofWeek ligger utom räckhåll.
Date1 eller Date2 är av en ogiltig typ.
Exempel
I det DateDiff här exemplet används funktionen för att visa antalet dagar mellan ett visst datum och idag.
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
Kommentarer
Du kan använda DateDiff funktionen för att avgöra hur många angivna tidsintervall som finns mellan två datum-/tidsvärden. Du kan till exempel använda DateDiff för att beräkna antalet dagar mellan två datum eller antalet veckor mellan idag och slutet av året.
Beteende
Behandling av parametrar.
DateDiffsubtraherar värdetDate1för från värdetDate2för för att producera skillnaden. Inget av värdena ändras i det anropande programmet.Returnera värden. Eftersom
Date1ochDate2är avDatedatatypen innehåller de datum- och tidsvärden som är korrekta till 100 nanosekunders tick på systemtimern. Returnerar dockDateDiffalltid antalet tidsintervall som ettLongvärde.Om
Date1representerar ett senare datum och en senare tid änDate2returnerarDateDiffett negativt tal.Dagintervall. Om
Intervalär inställt påDateInterval.DayOfYearbehandlas det på samma sätt somDateInterval.Day, eftersomDayOfYeardet inte är en meningsfull enhet för ett tidsintervall.Veckointervall. Om
Intervalär inställt påDateInterval.WeekOfYearrepresenterar returvärdet antalet veckor mellan den första dagen i veckan som innehållerDate1och den första dagen i veckan som innehållerDate2. I följande exempel visas hur detta ger olika resultat frånDateInterval.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)I föregående exempel
DateDiffreturnerar 0 tillwDeftersom skillnaden mellan de två datumen är mindre än sju dagar, men den returnerar 1 tillwYeftersom det finns en sjudagarsskillnad mellan de första dagarna i respektive kalenderveckor.Större intervall. Om
Intervalär inställt påDateInterval.Yearberäknas returvärdet enbart från årsdelarna iDate1ochDate2. På samma sätt beräknas returvärdet förDateInterval.Monthenbart från argumentens års- och månadsdelar och frånDateInterval.Quarterde kvartal som innehåller de två datumen.När du till exempel jämför 31 december till 1 januari följande år
DateDiffreturnerar 1 förDateInterval.Year,DateInterval.QuarterellerDateInterval.Month, även om bara en dag har förflutit.För kulturer som japanska som har flera epoker
DateDiffreturnerar metoden inte någon skillnad i år om skillnaden sträcker sig över två eller flera epoker. I stället kan du beräkna skillnaden i värden som returneras av Year egenskapen, enligt följande exempel:date2.Year - date1.Year.Andra intervall. Eftersom varje
Datevärde stöds av en DateTime struktur ger dess metoder ytterligare alternativ för att hitta tidsintervall. Du kan till exempel användaSubtractmetoden i något av dess överlagrade formulär: DateTime.Subtract subtraherar en TimeSpan från en variabel för att returnera ettDateannatDatevärde och DateTime.Subtract subtraherar ettDatevärde för att returnera ett TimeSpan. Du kan ta reda på hur många millisekunder det tar, vilket visas i följande exempel.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
Argumentet Interval kan ha någon av följande inställningar.
| Uppräkningsvärde | Strängvärde | Tidsskillnadsenhet |
|---|---|---|
DateInterval.Day |
"d" | Day |
DateInterval.DayOfYear |
y | Day |
DateInterval.Hour |
"h" | Timme |
DateInterval.Minute |
"n" | Minut |
DateInterval.Month |
"m" | Månad |
DateInterval.Quarter |
"q" | Kvartal |
DateInterval.Second |
s | Andra |
DateInterval.Weekday |
"v" | Vecka |
DateInterval.WeekOfYear |
"vv" | Kalendervecka |
DateInterval.Year |
"yyyyy" | Year |
Argumentet DayOfWeek kan ha någon av följande inställningar.
| Uppräkningsvärde | Value | Description |
|---|---|---|
FirstDayOfWeek.System |
0 | Första veckodag som anges i systeminställningarna |
FirstDayOfWeek.Sunday |
1 | Söndag (standard) |
FirstDayOfWeek.Monday |
2 | Måndag (uppfyller ISO-standarden 8601, avsnitt 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Onsdag |
FirstDayOfWeek.Thursday |
5 | Torsdag |
FirstDayOfWeek.Friday |
6 | Fredag |
FirstDayOfWeek.Saturday |
7 | lördag |
Argumentet WeekOfYear kan ha någon av följande inställningar.
| Uppräkningsvärde | Value | Description |
|---|---|---|
FirstWeekOfYear.System |
0 | Första veckan på året som anges i systeminställningar |
FirstWeekOfYear.Jan1 |
1 | Vecka då 1 januari inträffar (standard) |
FirstWeekOfYear.FirstFourDays |
2 | Vecka som har minst fyra dagar under det nya året (uppfyller ISO-standarden 8601, avsnitt 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Första hela veckan i det nya året |
Se även
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Datatypsammanfattning (Visual Basic)
Gäller för
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
Subtraherar Date1 från Date2 för att ge ett långt värde som anger antalet tidsintervall mellan de två Date värdena.
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
Parametrar
- Interval
- String
Required. Ett DateInterval uppräkningsvärde eller ett stränguttryck som representerar det tidsintervall som du vill använda som skillnadenhet mellan Date1 och Date2.
- Date1
- Object
Required. Det första datum/tid-värde som du vill använda i beräkningen.
- Date2
- Object
Required. Det andra datum/tid-värdet som du vill använda i beräkningen.
- DayOfWeek
- FirstDayOfWeek
Optional. Ett värde som väljs från FirstDayOfWeek uppräkningen som anger den första dagen i veckan. Om det inte anges används Sunday.
- WeekOfYear
- FirstWeekOfYear
Optional. Ett värde som valts från FirstWeekOfYear uppräkningen som anger årets första vecka. Om det inte anges används Jan1.
Returer
Ett långt värde som anger antalet tidsintervall mellan två Date värden.
Undantag
Date1, Date2, eller DayofWeek ligger utom räckhåll.
Date1 eller Date2 är av en ogiltig typ.
Exempel
I det DateDiff här exemplet används funktionen för att visa antalet dagar mellan ett visst datum och idag.
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
Kommentarer
Du kan använda DateDiff funktionen för att avgöra hur många angivna tidsintervall som finns mellan två datum-/tidsvärden. Du kan till exempel använda DateDiff för att beräkna antalet dagar mellan två datum eller antalet veckor mellan idag och slutet av året.
Beteende
Behandling av parametrar.
DateDiffsubtraherar värdetDate1för från värdetDate2för för att producera skillnaden. Inget av värdena ändras i det anropande programmet.Returnera värden. Eftersom
Date1ochDate2är avDatedatatypen innehåller de datum- och tidsvärden som är korrekta till 100 nanosekunders tick på systemtimern. Returnerar dockDateDiffalltid antalet tidsintervall som ettLongvärde.Om
Date1representerar ett senare datum och en senare tid änDate2returnerarDateDiffett negativt tal.Dagintervall. Om
Intervalär inställt påDateInterval.DayOfYearbehandlas det på samma sätt somDateInterval.Day, eftersomDayOfYeardet inte är en meningsfull enhet för ett tidsintervall.Veckointervall. Om
Intervalär inställt påDateInterval.WeekOfYearrepresenterar returvärdet antalet veckor mellan den första dagen i veckan som innehållerDate1och den första dagen i veckan som innehållerDate2. I följande exempel visas hur detta ger olika resultat frånDateInterval.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)I föregående exempel
DateDiffreturnerar 0 tillwDeftersom skillnaden mellan de två datumen är mindre än sju dagar, men den returnerar 1 tillwYeftersom det finns en sjudagarsskillnad mellan de första dagarna i respektive kalenderveckor.Större intervall. Om
Intervalär inställt påDateInterval.Yearberäknas returvärdet enbart från årsdelarna iDate1ochDate2. På samma sätt beräknas returvärdet förDateInterval.Monthenbart från argumentens års- och månadsdelar och frånDateInterval.Quarterde kvartal som innehåller de två datumen.När du till exempel jämför 31 december till 1 januari följande år
DateDiffreturnerar 1 förDateInterval.Year,DateInterval.QuarterellerDateInterval.Month, även om bara en dag har förflutit.För kulturer som japanska som har flera epoker
DateDiffreturnerar metoden inte någon skillnad i år om skillnaden sträcker sig över två eller flera epoker. I stället kan du beräkna skillnaden i värden som returneras av Year egenskapen, enligt följande exempel:date2.Year - date1.Year.Andra intervall. Eftersom varje
Datevärde stöds av en DateTime struktur ger dess metoder ytterligare alternativ för att hitta tidsintervall. Du kan till exempel användaSubtractmetoden i något av dess överlagrade formulär: DateTime.Subtract subtraherar en TimeSpan från en variabel för att returnera ettDateannatDatevärde och DateTime.Subtract subtraherar ettDatevärde för att returnera ett TimeSpan. Du kan ta reda på hur många millisekunder det tar, vilket visas i följande exempel.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
Argumentet Interval kan ha någon av följande inställningar.
| Uppräkningsvärde | Strängvärde | Tidsskillnadsenhet |
|---|---|---|
DateInterval.Day |
"d" | Day |
DateInterval.DayOfYear |
y | Day |
DateInterval.Hour |
"h" | Timme |
DateInterval.Minute |
"n" | Minut |
DateInterval.Month |
"m" | Månad |
DateInterval.Quarter |
"q" | Kvartal |
DateInterval.Second |
s | Andra |
DateInterval.Weekday |
"v" | Vecka |
DateInterval.WeekOfYear |
"vv" | Kalendervecka |
DateInterval.Year |
"yyyyy" | Year |
Argumentet DayOfWeek kan ha någon av följande inställningar.
| Uppräkningsvärde | Value | Description |
|---|---|---|
FirstDayOfWeek.System |
0 | Första veckodag som anges i systeminställningarna |
FirstDayOfWeek.Sunday |
1 | Söndag (standard) |
FirstDayOfWeek.Monday |
2 | Måndag (uppfyller ISO-standarden 8601, avsnitt 3.17) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Onsdag |
FirstDayOfWeek.Thursday |
5 | Torsdag |
FirstDayOfWeek.Friday |
6 | Fredag |
FirstDayOfWeek.Saturday |
7 | lördag |
Argumentet WeekOfYear kan ha någon av följande inställningar.
| Uppräkningsvärde | Value | Description |
|---|---|---|
FirstWeekOfYear.System |
0 | Första veckan på året som anges i systeminställningar |
FirstWeekOfYear.Jan1 |
1 | Vecka då 1 januari inträffar (standard) |
FirstWeekOfYear.FirstFourDays |
2 | Vecka som har minst fyra dagar under det nya året (uppfyller ISO-standarden 8601, avsnitt 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Första hela veckan i det nya året |
Se även
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Datatypsammanfattning (Visual Basic)