1 di 6
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
Parametri
Interval
Obbligatorio. Valore di enumerazione DateInterval o espressione String che rappresenta l'intervallo di tempo da utilizzare come unit di misura della differenza tra Date1 e Date2.
Date1
Date2
Obbligatorio. Date. Primo valore di data/ora che si desidera utilizzare nel calcolo.
Obbligatorio. Date. Secondo valore di data/ora che si desidera utilizzare nel calcolo.
DayOfWeek
Facoltativo. Valore scelto dall'enumerazione FirstDayOfWeek che indica il primo giorno della settimana. Se non viene specificato, viene utilizzato FirstDayOfWeek.Sunday.
WeekOfYear
Facoltativo. Valore scelto dall'enumerazione FirstWeekOfYear che indica la prima settimana dell'anno. Se non viene specificato, viene utilizzato FirstWeekOfYear.Jan1.
Impostazioni
Di seguito sono indicate le possibili impostazioni dell'argomento Interval.
26/10/2016 20:54
2 di 6
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
Valore di enumerazione
Valore stringa
DateInterval.Day
"d"
Giorno
DateInterval.DayOfYear
"y"
Giorno
DateInterval.Hour
"h"
Ora
DateInterval.Minute
"n"
Minuto
DateInterval.Month
"m"
Mese
DateInterval.Quarter
"q"
Trimestre
DateInterval.Second
"s"
Secondo
DateInterval.Weekday
"w"
Settimana
DateInterval.WeekOfYear
"ww"
DateInterval.Year
"yyyy"
Anno
Valore di enumerazione
Valore
Descrizione
FirstDayOfWeek.System
FirstDayOfWeek.Sunday
FirstDayOfWeek.Monday
FirstDayOfWeek.Tuesday
Marted
FirstDayOfWeek.Wednesday
Mercoled
FirstDayOfWeek.Thursday
Gioved
FirstDayOfWeek.Friday
Venerd
26/10/2016 20:54
3 di 6
FirstDayOfWeek.Saturday
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
Sabato
Valore di enumerazione
Valore
Descrizione
FirstWeekOfYear.System
FirstWeekOfYear.Jan1
FirstWeekOfYear.FirstFourDays
FirstWeekOfYear.FirstFullWeek
Eccezioni
Tipo di eccezione
Numero di
errore
Condizione
ArgumentException
ArgumentException
InvalidCastException
13
Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". possibil e confrontare il numero di errore con la Propriet
Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.
Note
Utilizzare la funzione DateDiff per determinare quanti intervalli temporali specifici vi sono tra due valori data/ora. Ad esempio, possibile utilizzare DateDiff per calcolare il numero di giorni tra due date o il numero di
26/10/2016 20:54
4 di 6
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
Comportamento
Gestione dei parametri.DateDiff sottrae il valore di Date1 da quello di Date2 per ottenere la differenza. Nessuno dei due valori viene modificato nel programma chiamante.
Valori restituiti. Poich Date1 e Date2 sono del tipo di dati Date, contengono valori di data e ora con l'accuratezza di 100 nanosecondi propria del timer di sistema. DateDiff, tuttavia, restituisce sempre il numero di
intervalli di tempo come valore Long.
Se Date1 rappresenta una data e un'ora successive rispetto a Date2, DateDiff restituir un numero negativo.
Intervalli di giorni. Se Interval impostato su DateInterval.DayOfYear, viene considerato come DateInterval.Day poich DayOfYear non un'unit di misura significativa per un intervallo di tempo.
Intervalli di settimane. Se Interval impostato su DateInterval.WeekOfYear, il valore restituito rappresenta il numero di settimane comprese tra il primo giorno della settimana contenente Date1 e il primo giorno
della settimana contenente Date2. Nell'esempio riportato di seguito viene illustrato come questo produca risultati diversi da DateInterval.Weekday.
VB
' 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 DateDiff restituisce 0 per wD perch la differenza tra le due date inferiore a sette giorni, mentre restituisce 1 per wY perch tra i primi giorni delle rispettive settimane di calendario vi una
differenza di sette giorni.
Attenzione:
Quando la parte relativa all'ora di Date1 pi grande di Date2 e Interval impostato su DateInterval.WeekOfYear, la funzione DateDiff restituisce un valore inferiore di uno rispetto al valore corretto.
Intervalli maggiori. Se Interval impostato su DateInterval.Year, il valore restituito viene calcolato solo dalle parti di Date1 e Date2 relative all'anno. In modo analogo, il valore restituito per DateInterval.Month
viene calcolato unicamente dalle parti degli argomenti relative all'anno e al mese e per DateInterval.Quarter dai trimestri che contengono le due date.
Quando ad esempio si confrontano le date 31 dicembre e 1 gennaio dell'anno seguente, DateDiff restituisce 1 per DateInterval.Year, DateInterval.Quarter o DateInterval.Month, anche se trascorso al massimo un
solo giorno.
Altri intervalli. Poich ogni valore di Date supportato da una struttura DateTime, i relativi metodi offrono ulteriori opzioni per l'individuazione di intervalli di tempo. ad esempio possibile utilizzare il metodo
Subtract in una delle relative versioni di overload: DateTime.Subtract sottrae un oggetto TimeSpan da una variabile Date per restituire un altro valore Date, mentre il metodo DateTime.Subtract sottrae un valore
Date per restituire un oggetto TimeSpan. possibile cronometrare un processo per determinare il numero di millisecondi impiegato, come illustrato nel seguente esempio.
VB
26/10/2016 20:54
5 di 6
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
Esempio
Nell'esempio riportato di seguito la funzione DateDiff viene utilizzata per visualizzare il numero di giorni compreso tra una determinata data e la data odierna.
VB
Dim firstDate, msg As String
Dim secondDate As Date
firstDate = InputBox("Enter a date")
secondDate = CDate(firstDate)
msg = "Days from today: " & DateDiff(DateInterval.Day, Now, secondDate)
MsgBox(msg)
Requisiti
Spazio dei nomi:Microsoft.VisualBasic
Modulo:DateAndTime
Assembly:Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Vedere anche
Riferimenti
26/10/2016 20:54
6 di 6
https://msdn.microsoft.com/it-it/library/b5xbyt6f(d=printer,v=vs.90).aspx
2016 Microsoft
26/10/2016 20:54