Funzione DateAdd (Visual Basic)

Aggiornamento: novembre 2007

Restituisce un valore Date contenente una data e un'ora alla quale è stato aggiunto un intervallo di tempo specificato.

Public Overloads Function DateAdd( _
   ByVal Interval As DateInterval, _
   ByVal Number As Double, _
   ByVal DateValue As DateTime _
) As DateTime
' -or-
Public Overloads Function DateAdd( _
   ByVal Interval As String, _
   ByVal Number As Double, _
   ByVal DateValue As Object _
) As DateTime

Parametri

  • Interval
    Obbligatorio. Valore di enumerazione DateInterval o espressione String che rappresenta l'intervallo di tempo da aggiungere.

  • Number
    Obbligatorio. Double. Espressione a virgola mobile che rappresenta il numero di intervalli da aggiungere. Number può essere un valore positivo (per ottenere valori di data/ora nel futuro) o negativo (per ottenere valori di data/ora nel passato). Eventuali parti frazionarie di Number vengono ignorate.

  • DateValue
    Obbligatorio. Date. Espressione che rappresenta la data e l'ora a cui deve essere aggiunto l'intervallo. DateValue non viene modificato nel programma chiamante.

Impostazioni

Di seguito sono indicate le possibili impostazioni dell'argomento Interval.

Valore di enumerazione

Stringa

Unità di intervallo temporale da aggiungere

DateInterval.Day

d

Giorno; troncato al valore integrale

DateInterval.DayOfYear

y

Giorno; troncato al valore integrale

DateInterval.Hour

h

Ora; troncata al valore integrale

DateInterval.Minute

n

Minuto; troncato al valore integrale

DateInterval.Month

m

Mese; troncato al valore integrale

DateInterval.Quarter

q

Trimestre; troncato al valore integrale

DateInterval.Second

s

Secondo; troncato al valore integrale

DateInterval.Weekday

w

Giorno; troncato al valore integrale

DateInterval.WeekOfYear

ww

Settimana; troncata al valore integrale

DateInterval.Year

yyyy

Anno; troncato al valore integrale

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

InvalidCastException

13

DateValue non può essere assegnato forzatamente a un valore Date.

ArgumentException

5

L'intervallo non è valido.

ArgumentOutOfRangeException

9

La data calcolata è precedente alle 00.00.00 dell'1 gennaio dell'anno 1 o successiva alle 23.59.59 del 31 dicembre 9999.

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". È possibile 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

È possibile utilizzare la funzione DateAdd per aggiungere o sottrarre un intervallo di tempo specifico a una data. È possibile, ad esempio, calcolare la data corrispondente a 30 giorni dopo la data corrente o l'ora corrispondente a 45 minuti prima dell'ora corrente.

Per aggiungere giorni a DateValue, è possibile utilizzare DateInterval.Day, DateInterval.DayOfYear o DateInterval.Weekday. Tali valori vengono considerati equivalenti in quanto DayOfYear e Weekday non sono intervalli di tempo significativi.

La funzione DateAdd non restituisce mai una data non valida. Se necessario, la parte del giorno della data risultante viene regolata in base all'ultimo giorno del mese risultante dell'anno risultante. Nell'esempio riportato di seguito viene aggiunto un mese alla data 31 gennaio:

Dim NextMonth As Date = DateAdd(DateInterval.Month, 1, #1/31/1995#)

In questo esempio DateAdd restituisce #2/28/1995# anziché #2/31/1995#. Se DateValue è #1/31/1996#, restituisce #2/29/1996# poiché il 1996 è un anno bisestile.

Nota:

DateAdd utilizza l'impostazione del calendario corrente della proprietà CurrentCulture della classe CultureInfo nello spazio dei nomi System.Globalization. I valori predefiniti di CurrentCulture vengono determinati dalle impostazioni del Pannello di controllo.

Poiché ogni valore Date è supportato da una struttura DateTime, i relativi metodi offrono ulteriori opzioni per l'aggiunta di intervalli di tempo. È ad esempio possibile aggiungere a una variabile Date un numero frazionario di giorni arrotondato al millisecondo più vicino, come illustrato di seguito.

Dim NextTime As Date = Now        ' Current date and time.
NextTime = NextTime.AddDays(3.4)  ' Increment by 3 2/5 days.

Esempio

In questo esempio viene specificata una data e, mediante la funzione DateAdd, viene visualizzata una data futura corrispondente, un determinato numero di mesi dopo.

Dim Msg, Number, StartDate As String   'Declare variables.
Dim Months As Double
Dim SecondDate As Date
Dim IntervalType As DateInterval
IntervalType = DateInterval.Month   ' Specifies months as interval.
StartDate = InputBox("Enter a date")
SecondDate = CDate(StartDate)
Number = InputBox("Enter number of months to add")
Months = Val(Number)
Msg = "New date: " & DateAdd(IntervalType, Months, SecondDate)
MsgBox(Msg)

Requisiti

Spazio dei nomi: Microsoft.VisualBasic

Modulo: DateAndTime

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Funzione DateDiff (Visual Basic)

Funzione DatePart (Visual Basic)

Funzione Day (Visual Basic)

Funzione Format

Proprietà Now

Funzione Weekday (Visual Basic)

Funzione Year (Visual Basic)

Tipo di dati Date (Visual Basic)

System