DateAndTime.DateDiff Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un valore che specifica il numero di intervalli di tempo tra due Date valori.
Overload
| Nome | Descrizione |
|---|---|
| DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Sottrae |
| DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Sottrae |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
Sottrae Date1 da Date2 per assegnare un valore long che specifica il numero di intervalli di tempo tra i due Date valori.
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
Parametri
- Interval
- DateInterval
Obbligatorio. Valore DateInterval di enumerazione o espressione stringa che rappresenta l'intervallo di tempo da usare come unità di differenza tra Date1 e Date2.
- Date1
- DateTime
Obbligatorio. Primo valore di data/ora da usare nel calcolo.
- Date2
- DateTime
Obbligatorio. Secondo valore di data/ora da usare nel calcolo.
- DayOfWeek
- FirstDayOfWeek
Opzionale. Valore scelto dall'enumerazione FirstDayOfWeek che specifica il primo giorno della settimana. Se omesso, viene utilizzato Sunday.
- WeekOfYear
- FirstWeekOfYear
Opzionale. Valore scelto dall'enumerazione FirstWeekOfYear che specifica la prima settimana dell'anno. Se omesso, viene utilizzato Jan1.
Restituisce
Valore long che specifica il numero di intervalli di tempo tra due Date valori.
Eccezioni
Date1, Date2o DayofWeek non è compreso nell'intervallo.
Date1 o Date2 è di un tipo non valido.
Esempio
In questo esempio viene utilizzata la DateDiff funzione per visualizzare il numero di giorni tra una data specificata e oggi.
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
Commenti
È possibile usare la DateDiff funzione per determinare il numero di intervalli di tempo specificati tra due valori di data/ora. Ad esempio, è possibile usare DateDiff per calcolare il numero di giorni tra due date o il numero di settimane tra oggi e la fine dell'anno.
Comportamento
Trattamento dei parametri.
DateDiffsottrae il valore di dal valore diDate1Date2per produrre la differenza. Nessun valore viene modificato nel programma chiamante.Valori restituiti. Poiché
Date1eDate2sono delDatetipo di dati, contengono valori di data e ora accurati a 100 nanosecondi nel timer di sistema. Tuttavia, restituisceDateDiffsempre il numero di intervalli di tempo comeLongvalore.Se
Date1rappresenta una data e un'ora successive aDate2,DateDiffrestituisce un numero negativo.Intervalli di giorno. Se
Intervalè impostato suDateInterval.DayOfYear, viene trattato comeDateInterval.Day, perchéDayOfYearnon è un'unità significativa per un intervallo di tempo.Intervalli di settimana. Se
Intervalè impostato suDateInterval.WeekOfYear, il valore restituito rappresenta il numero di settimane tra il primo giorno della settimana contenente e il primo giorno della settimana contenenteDate1Date2. Nell'esempio seguente viene illustrato come questo produce risultati diversi daDateInterval.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)Nell'esempio precedente,
DateDiffrestituisce 0 awDperché la differenza tra le due date è inferiore a sette giorni, ma restituisce 1 awYperché esiste una differenza di sette giorni tra i primi giorni delle rispettive settimane di calendario.Intervalli maggiori. Se
Intervalè impostato suDateInterval.Year, il valore restituito viene calcolato esclusivamente dalle parti dell'anno diDate1eDate2. Analogamente, il valore restituito perDateInterval.Monthviene calcolato esclusivamente dalle parti dell'anno e del mese degli argomenti e perDateInterval.Quarterdai trimestri contenenti le due date.Ad esempio, quando si confronta il 31 dicembre e il 1° gennaio dell'anno seguente,
DateDiffrestituisce 1 perDateInterval.Year,DateInterval.QuarteroDateInterval.Month, anche se al massimo è trascorso un solo giorno.Per le impostazioni cultura come il giapponese con più ere, il
DateDiffmetodo non restituisce una differenza negli anni se la differenza si estende su due o più ere. È invece possibile calcolare la differenza nei valori restituiti dalla Year proprietà , come illustrato nell'esempio seguente:date2.Year - date1.Year.Altri intervalli. Poiché ogni
Datevalore è supportato da una DateTime struttura, i relativi metodi offrono opzioni aggiuntive per trovare gli intervalli di tempo. Ad esempio, è possibile utilizzare ilSubtractmetodo in una delle relative forme di overload: DateTime.Subtract sottrae un oggetto TimeSpan da unaDatevariabile per restituire un altroDatevalore e DateTime.Subtract sottrae unDatevalore per restituire un oggetto TimeSpan. È possibile tempore per un processo per scoprire il numero di millisecondi necessari, come illustrato nell'esempio seguente.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
L'argomento Interval può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore stringa | Unità di differenza di tempo |
|---|---|---|
DateInterval.Day |
"d" | Giorno |
DateInterval.DayOfYear |
"y" | Giorno |
DateInterval.Hour |
"h" | Ora |
DateInterval.Minute |
"n" | Minuto |
DateInterval.Month |
"m" | Mese |
DateInterval.Quarter |
"q" | Quarto |
DateInterval.Second |
"s" | Secondo |
DateInterval.Weekday |
"w" | Settimana |
DateInterval.WeekOfYear |
"ww" | Settimana del calendario |
DateInterval.Year |
"yyyy" | Anno |
L'argomento DayOfWeek può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore | Descrizione |
|---|---|---|
FirstDayOfWeek.System |
0 | Primo giorno della settimana specificato nelle impostazioni di sistema |
FirstDayOfWeek.Sunday |
1 | Domenica (impostazione predefinita) |
FirstDayOfWeek.Monday |
2 | Monday (conforme allo standard ISO 8601, sezione 3.17) |
FirstDayOfWeek.Tuesday |
3 | Martedì |
FirstDayOfWeek.Wednesday |
4 | Mercoledì |
FirstDayOfWeek.Thursday |
5 | Giovedì |
FirstDayOfWeek.Friday |
6 | Venerdì |
FirstDayOfWeek.Saturday |
7 | Sabato |
L'argomento WeekOfYear può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore | Descrizione |
|---|---|---|
FirstWeekOfYear.System |
0 | Prima settimana dell'anno specificata nelle impostazioni di sistema |
FirstWeekOfYear.Jan1 |
1 | Settimana in cui si verifica il 1° gennaio (impostazione predefinita) |
FirstWeekOfYear.FirstFourDays |
2 | Settimana con almeno quattro giorni nel nuovo anno (conforme allo standard ISO 8601, sezione 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Prima settimana intera nel nuovo anno |
Vedi anche
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Riepilogo dei tipi di dati (Visual Basic)
Si applica a
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
- Origine:
- DateAndTime.vb
Sottrae Date1 da Date2 per assegnare un valore long che specifica il numero di intervalli di tempo tra i due Date valori.
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
Parametri
- Interval
- String
Obbligatorio. Valore DateInterval di enumerazione o espressione stringa che rappresenta l'intervallo di tempo da usare come unità di differenza tra Date1 e Date2.
- Date1
- Object
Obbligatorio. Primo valore di data/ora da usare nel calcolo.
- Date2
- Object
Obbligatorio. Secondo valore di data/ora da usare nel calcolo.
- DayOfWeek
- FirstDayOfWeek
Opzionale. Valore scelto dall'enumerazione FirstDayOfWeek che specifica il primo giorno della settimana. Se omesso, viene utilizzato Sunday.
- WeekOfYear
- FirstWeekOfYear
Opzionale. Valore scelto dall'enumerazione FirstWeekOfYear che specifica la prima settimana dell'anno. Se omesso, viene utilizzato Jan1.
Restituisce
Valore long che specifica il numero di intervalli di tempo tra due Date valori.
Eccezioni
Date1, Date2o DayofWeek non è compreso nell'intervallo.
Date1 o Date2 è di un tipo non valido.
Esempio
In questo esempio viene utilizzata la DateDiff funzione per visualizzare il numero di giorni tra una data specificata e oggi.
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
Commenti
È possibile usare la DateDiff funzione per determinare il numero di intervalli di tempo specificati tra due valori di data/ora. Ad esempio, è possibile usare DateDiff per calcolare il numero di giorni tra due date o il numero di settimane tra oggi e la fine dell'anno.
Comportamento
Trattamento dei parametri.
DateDiffsottrae il valore di dal valore diDate1Date2per produrre la differenza. Nessun valore viene modificato nel programma chiamante.Valori restituiti. Poiché
Date1eDate2sono delDatetipo di dati, contengono valori di data e ora accurati a 100 nanosecondi nel timer di sistema. Tuttavia, restituisceDateDiffsempre il numero di intervalli di tempo comeLongvalore.Se
Date1rappresenta una data e un'ora successive aDate2,DateDiffrestituisce un numero negativo.Intervalli di giorno. Se
Intervalè impostato suDateInterval.DayOfYear, viene trattato comeDateInterval.Day, perchéDayOfYearnon è un'unità significativa per un intervallo di tempo.Intervalli di settimana. Se
Intervalè impostato suDateInterval.WeekOfYear, il valore restituito rappresenta il numero di settimane tra il primo giorno della settimana contenente e il primo giorno della settimana contenenteDate1Date2. Nell'esempio seguente viene illustrato come questo produce risultati diversi daDateInterval.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)Nell'esempio precedente,
DateDiffrestituisce 0 awDperché la differenza tra le due date è inferiore a sette giorni, ma restituisce 1 awYperché esiste una differenza di sette giorni tra i primi giorni delle rispettive settimane di calendario.Intervalli maggiori. Se
Intervalè impostato suDateInterval.Year, il valore restituito viene calcolato esclusivamente dalle parti dell'anno diDate1eDate2. Analogamente, il valore restituito perDateInterval.Monthviene calcolato esclusivamente dalle parti dell'anno e del mese degli argomenti e perDateInterval.Quarterdai trimestri contenenti le due date.Ad esempio, quando si confronta il 31 dicembre e il 1° gennaio dell'anno seguente,
DateDiffrestituisce 1 perDateInterval.Year,DateInterval.QuarteroDateInterval.Month, anche se al massimo è trascorso un solo giorno.Per le impostazioni cultura come il giapponese con più ere, il
DateDiffmetodo non restituisce una differenza negli anni se la differenza si estende su due o più ere. È invece possibile calcolare la differenza nei valori restituiti dalla Year proprietà , come illustrato nell'esempio seguente:date2.Year - date1.Year.Altri intervalli. Poiché ogni
Datevalore è supportato da una DateTime struttura, i relativi metodi offrono opzioni aggiuntive per trovare gli intervalli di tempo. Ad esempio, è possibile utilizzare ilSubtractmetodo in una delle relative forme di overload: DateTime.Subtract sottrae un oggetto TimeSpan da unaDatevariabile per restituire un altroDatevalore e DateTime.Subtract sottrae unDatevalore per restituire un oggetto TimeSpan. È possibile tempore per un processo per scoprire il numero di millisecondi necessari, come illustrato nell'esempio seguente.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
L'argomento Interval può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore stringa | Unità di differenza di tempo |
|---|---|---|
DateInterval.Day |
"d" | Giorno |
DateInterval.DayOfYear |
"y" | Giorno |
DateInterval.Hour |
"h" | Ora |
DateInterval.Minute |
"n" | Minuto |
DateInterval.Month |
"m" | Mese |
DateInterval.Quarter |
"q" | Quarto |
DateInterval.Second |
"s" | Secondo |
DateInterval.Weekday |
"w" | Settimana |
DateInterval.WeekOfYear |
"ww" | Settimana del calendario |
DateInterval.Year |
"yyyy" | Anno |
L'argomento DayOfWeek può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore | Descrizione |
|---|---|---|
FirstDayOfWeek.System |
0 | Primo giorno della settimana specificato nelle impostazioni di sistema |
FirstDayOfWeek.Sunday |
1 | Domenica (impostazione predefinita) |
FirstDayOfWeek.Monday |
2 | Monday (conforme allo standard ISO 8601, sezione 3.17) |
FirstDayOfWeek.Tuesday |
3 | Martedì |
FirstDayOfWeek.Wednesday |
4 | Mercoledì |
FirstDayOfWeek.Thursday |
5 | Giovedì |
FirstDayOfWeek.Friday |
6 | Venerdì |
FirstDayOfWeek.Saturday |
7 | Sabato |
L'argomento WeekOfYear può avere una delle impostazioni seguenti.
| Valore di enumerazione | Valore | Descrizione |
|---|---|---|
FirstWeekOfYear.System |
0 | Prima settimana dell'anno specificata nelle impostazioni di sistema |
FirstWeekOfYear.Jan1 |
1 | Settimana in cui si verifica il 1° gennaio (impostazione predefinita) |
FirstWeekOfYear.FirstFourDays |
2 | Settimana con almeno quattro giorni nel nuovo anno (conforme allo standard ISO 8601, sezione 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Prima settimana intera nel nuovo anno |
Vedi anche
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Riepilogo dei tipi di dati (Visual Basic)