DateAndTime.DateDiff Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy értéket ad vissza, amely két érték közötti Date időintervallumok számát adja meg.
Túlterhelések
| Name | Description |
|---|---|
| DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Kivon egy |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Kivon egy |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
Kivon egy Date1Date2 hosszú értéket, amely megadja a két Date érték közötti időintervallumok számát.
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
Paraméterek
- Interval
- DateInterval
Kötelező. Enumerálási DateInterval érték vagy sztringkifejezés, amely a különbség mértékegységeként Date1Date2használni kívánt időintervallumot jelöli.
- Date1
- DateTime
Kötelező. A számításban használni kívánt első dátum/idő érték.
- Date2
- DateTime
Kötelező. A számításban használni kívánt második dátum/idő érték.
- DayOfWeek
- FirstDayOfWeek
Optional. Az enumerálásból FirstDayOfWeek kiválasztott érték, amely a hét első napját adja meg. Ha nincs megadva, Sunday lesz használva.
- WeekOfYear
- FirstWeekOfYear
Optional. Az enumerálásból FirstWeekOfYear kiválasztott érték, amely az év első hetét határozza meg. Ha nincs megadva, Jan1 lesz használva.
Válaszok
Hosszú érték, amely két érték közötti Date időintervallumok számát adja meg.
Kivételek
Date1, Date2vagy DayofWeek kívül esik a tartományon.
Date1 vagy Date2 érvénytelen típusú.
Példák
Ez a példa a függvény használatával DateDiff jeleníti meg az adott dátum és a mai nap közötti napok számát.
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
Megjegyzések
A függvény segítségével DateDiff meghatározhatja, hogy hány megadott időintervallum létezik két dátum/idő érték között. Használhatja például DateDiff a két dátum közötti napok számát, vagy a mai nap és az év vége közötti hetek számát.
Magatartás
Paraméterek kezelése.
DateDiffkivonjaDate1a különbség értékét az értékbőlDate2. A hívó programban egyik érték sem módosul.Értékeket ad vissza.
Date1MivelDate2azDateadattípusuk, a dátum- és időértékek 100 nanoszekundumos időértékeket tartalmaznak a rendszer időzítőjén.DateDiffAzonban mindig az időintervallumok számát adja eredményül értékkéntLong.Ha
Date1egy későbbi dátumot és időpontotDate2jelöl,DateDiffnegatív számot ad vissza.Napi intervallumok. Ha
Intervalbe van állítvaDateInterval.DayOfYear, akkor a rendszer ugyanúgy kezeli, mintDateInterval.Daya rendszer, mivelDayOfYearegy időintervallum nem értelmezhető egység.Heti intervallumok. Ha
Intervalbe van állítvaDateInterval.WeekOfYear, a visszatérési érték a hét első napja és az azt tartalmazóDate1Date2hét első napja közötti hetek számát jelöli. Az alábbi példa bemutatja, hogy ez hogyan hoz létre különböző eredményeket.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)Az előző példában a 0
DateDiffértéket adja vissza,wDmert a két dátum közötti különbség kevesebb, mint hét nap, de 1wYértéket ad vissza, mivel a megfelelő naptári hetek első napjai között hétnapos különbség van.Nagyobb időközök. Ha
Intervalbe van állítvaDateInterval.Year, a visszatérési érték kiszámítása kizárólag az év részeiből ésDate1aDate2. Hasonlóképpen, a visszatérésiDateInterval.Monthérték kiszámítása kizárólag az argumentumok év- és hónaprészeiből, valamintDateInterval.Quartera két dátumot tartalmazó negyedévekből történik.Ha például a következő év december 31-ét és január 1-ét hasonlítjuk össze,
DateDiffakkor 1DateInterval.Yearértéket ad vissza ,DateInterval.QuartervagyDateInterval.Monthannak ellenére, hogy legfeljebb egy nap telt el.Az olyan kultúrák esetében, mint a japánok, amelyek több korszakot is használnak, a
DateDiffmódszer nem ad vissza különbséget éveken belül, ha a különbség két vagy több korszakra terjed ki. Ehelyett kiszámíthatja a tulajdonság által Year visszaadott értékek különbségét az alábbi példában látható módon:date2.Year - date1.Year.Egyéb időközök. Mivel egy struktúra minden
Dateértéket támogat DateTime , a metódusok további lehetőségeket biztosítanak az időintervallumok megtalálásához. Használhatja például a metódust aSubtracttúlterhelt űrlapok egyikében: DateTime.Subtract kivon egy TimeSpan változót egyDatemásikDateérték visszaadásához, és DateTime.Subtract kivon egyDateértéket egy TimeSpan. Az alábbi példában látható módon időt szakíthat egy folyamatra, hogy megtudja, hány ezredmásodpercbe kerül.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
Az Interval argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Sztringérték | Időeltolódás mértékegysége |
|---|---|---|
DateInterval.Day |
"d" | Nap |
DateInterval.DayOfYear |
"y" | Nap |
DateInterval.Hour |
"h" | Óra |
DateInterval.Minute |
"p" | Minute |
DateInterval.Month |
"m" | Hónap |
DateInterval.Quarter |
„n.év“ | Negyed |
DateInterval.Second |
s | Second |
DateInterval.Weekday |
„w“ | Hét |
DateInterval.WeekOfYear |
"ww" | Naptári hét |
DateInterval.Year |
"yyyy" | Year |
Az DayOfWeek argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Érték | Leírás |
|---|---|---|
FirstDayOfWeek.System |
0 | A rendszerbeállításokban megadott hét első napja |
FirstDayOfWeek.Sunday |
1 | Vasárnap (alapértelmezett) |
FirstDayOfWeek.Monday |
2 | Hétfő (megfelel az ISO 8601 szabványnak, 3.17. szakasz) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Szerda |
FirstDayOfWeek.Thursday |
5 | Csütörtök |
FirstDayOfWeek.Friday |
6 | Péntek |
FirstDayOfWeek.Saturday |
7 | Szombat |
Az WeekOfYear argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Érték | Leírás |
|---|---|---|
FirstWeekOfYear.System |
0 | A rendszerbeállításokban megadott év első hete |
FirstWeekOfYear.Jan1 |
1 | A január 1-jei hét (alapértelmezett) |
FirstWeekOfYear.FirstFourDays |
2 | Az új évben legalább négy nappal rendelkező hét (megfelel az ISO 8601 szabvány 3.17. szakaszának) |
FirstWeekOfYear.FirstFullWeek |
3 | Az új év első teljes hete |
Lásd még
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Adattípus összegzése (Visual Basic)
A következőre érvényes:
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
- Forrás:
- DateAndTime.vb
Kivon egy Date1Date2 hosszú értéket, amely megadja a két Date érték közötti időintervallumok számát.
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
Paraméterek
- Interval
- String
Kötelező. Enumerálási DateInterval érték vagy sztringkifejezés, amely a különbség mértékegységeként Date1Date2használni kívánt időintervallumot jelöli.
- Date1
- Object
Kötelező. A számításban használni kívánt első dátum/idő érték.
- Date2
- Object
Kötelező. A számításban használni kívánt második dátum/idő érték.
- DayOfWeek
- FirstDayOfWeek
Optional. Az enumerálásból FirstDayOfWeek kiválasztott érték, amely a hét első napját adja meg. Ha nincs megadva, Sunday lesz használva.
- WeekOfYear
- FirstWeekOfYear
Optional. Az enumerálásból FirstWeekOfYear kiválasztott érték, amely az év első hetét határozza meg. Ha nincs megadva, Jan1 lesz használva.
Válaszok
Hosszú érték, amely két érték közötti Date időintervallumok számát adja meg.
Kivételek
Date1, Date2vagy DayofWeek kívül esik a tartományon.
Date1 vagy Date2 érvénytelen típusú.
Példák
Ez a példa a függvény használatával DateDiff jeleníti meg az adott dátum és a mai nap közötti napok számát.
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
Megjegyzések
A függvény segítségével DateDiff meghatározhatja, hogy hány megadott időintervallum létezik két dátum/idő érték között. Használhatja például DateDiff a két dátum közötti napok számát, vagy a mai nap és az év vége közötti hetek számát.
Magatartás
Paraméterek kezelése.
DateDiffkivonjaDate1a különbség értékét az értékbőlDate2. A hívó programban egyik érték sem módosul.Értékeket ad vissza.
Date1MivelDate2azDateadattípusuk, a dátum- és időértékek 100 nanoszekundumos időértékeket tartalmaznak a rendszer időzítőjén.DateDiffAzonban mindig az időintervallumok számát adja eredményül értékkéntLong.Ha
Date1egy későbbi dátumot és időpontotDate2jelöl,DateDiffnegatív számot ad vissza.Napi intervallumok. Ha
Intervalbe van állítvaDateInterval.DayOfYear, akkor a rendszer ugyanúgy kezeli, mintDateInterval.Daya rendszer, mivelDayOfYearegy időintervallum nem értelmezhető egység.Heti intervallumok. Ha
Intervalbe van állítvaDateInterval.WeekOfYear, a visszatérési érték a hét első napja és az azt tartalmazóDate1Date2hét első napja közötti hetek számát jelöli. Az alábbi példa bemutatja, hogy ez hogyan hoz létre különböző eredményeket.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)Az előző példában a 0
DateDiffértéket adja vissza,wDmert a két dátum közötti különbség kevesebb, mint hét nap, de 1wYértéket ad vissza, mivel a megfelelő naptári hetek első napjai között hétnapos különbség van.Nagyobb időközök. Ha
Intervalbe van állítvaDateInterval.Year, a visszatérési érték kiszámítása kizárólag az év részeiből ésDate1aDate2. Hasonlóképpen, a visszatérésiDateInterval.Monthérték kiszámítása kizárólag az argumentumok év- és hónaprészeiből, valamintDateInterval.Quartera két dátumot tartalmazó negyedévekből történik.Ha például a következő év december 31-ét és január 1-ét hasonlítjuk össze,
DateDiffakkor 1DateInterval.Yearértéket ad vissza ,DateInterval.QuartervagyDateInterval.Monthannak ellenére, hogy legfeljebb egy nap telt el.Az olyan kultúrák esetében, mint a japánok, amelyek több korszakot is használnak, a
DateDiffmódszer nem ad vissza különbséget éveken belül, ha a különbség két vagy több korszakra terjed ki. Ehelyett kiszámíthatja a tulajdonság által Year visszaadott értékek különbségét az alábbi példában látható módon:date2.Year - date1.Year.Egyéb időközök. Mivel egy struktúra minden
Dateértéket támogat DateTime , a metódusok további lehetőségeket biztosítanak az időintervallumok megtalálásához. Használhatja például a metódust aSubtracttúlterhelt űrlapok egyikében: DateTime.Subtract kivon egy TimeSpan változót egyDatemásikDateérték visszaadásához, és DateTime.Subtract kivon egyDateértéket egy TimeSpan. Az alábbi példában látható módon időt szakíthat egy folyamatra, hogy megtudja, hány ezredmásodpercbe kerül.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
Az Interval argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Sztringérték | Időeltolódás mértékegysége |
|---|---|---|
DateInterval.Day |
"d" | Nap |
DateInterval.DayOfYear |
"y" | Nap |
DateInterval.Hour |
"h" | Óra |
DateInterval.Minute |
"p" | Minute |
DateInterval.Month |
"m" | Hónap |
DateInterval.Quarter |
„n.év“ | Negyed |
DateInterval.Second |
s | Second |
DateInterval.Weekday |
„w“ | Hét |
DateInterval.WeekOfYear |
"ww" | Naptári hét |
DateInterval.Year |
"yyyy" | Year |
Az DayOfWeek argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Érték | Leírás |
|---|---|---|
FirstDayOfWeek.System |
0 | A rendszerbeállításokban megadott hét első napja |
FirstDayOfWeek.Sunday |
1 | Vasárnap (alapértelmezett) |
FirstDayOfWeek.Monday |
2 | Hétfő (megfelel az ISO 8601 szabványnak, 3.17. szakasz) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | Szerda |
FirstDayOfWeek.Thursday |
5 | Csütörtök |
FirstDayOfWeek.Friday |
6 | Péntek |
FirstDayOfWeek.Saturday |
7 | Szombat |
Az WeekOfYear argumentum az alábbi beállítások egyikével rendelkezhet.
| Számbavételi érték | Érték | Leírás |
|---|---|---|
FirstWeekOfYear.System |
0 | A rendszerbeállításokban megadott év első hete |
FirstWeekOfYear.Jan1 |
1 | A január 1-jei hét (alapértelmezett) |
FirstWeekOfYear.FirstFourDays |
2 | Az új évben legalább négy nappal rendelkező hét (megfelel az ISO 8601 szabvány 3.17. szakaszának) |
FirstWeekOfYear.FirstFullWeek |
3 | Az új év első teljes hete |
Lásd még
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Adattípus összegzése (Visual Basic)