Condividi tramite


Funzione DateSerial (Visual Basic)

Aggiornamento: novembre 2007

Restituisce un valore Date che rappresenta l'anno, il mese e il giorno specificati, con l'ora impostata su mezzanotte (00.00.00).

Public Function DateSerial( _
   ByVal [Year] As Integer, _
   ByVal [Month] As Integer, _
   ByVal [Day] As Integer _
) As DateTime

Parametri

  • Year
    Obbligatorio. Espressione di tipo Integer da 1 a 9999. Vengono tuttavia accettati anche valori inferiori a quelli compresi in questo intervallo. Se Year è compreso tra 0 e 99, verrà interpretato come compreso tra 1930 e 2029, come illustrato nella sezione relativa alle osservazioni riportata di seguito. Se Year è inferiore a 1, verrà sottratto dall'anno in corso.

  • Month
    Obbligatorio. Espressione di tipo Integer da 1 a 12. Vengono tuttavia accettati anche valori al di fuori di quelli compresi in questo intervallo. Il valore di Month viene diminuito di 1 e applicato a gennaio dell'anno calcolato. In altri termini, (Month - 1) viene aggiunto a gennaio. Se necessario, l'anno viene ricalcolato. I seguenti risultati illustrano questo effetto:

    • Se il valore di Month è 1, il risultato sarà gennaio dell'anno calcolato.

    • Se il valore di Month è 0, il risultato sarà dicembre dell'anno precedente.

    • Se il valore di Month è -1, il risultato sarà novembre dell'anno precedente.

    • Se il valore di Month è 13, il risultato sarà gennaio dell'anno successivo.

  • Day
    Obbligatorio. Espressione di tipo Integer da 1 a 31. Vengono tuttavia accettati anche valori al di fuori di quelli compresi in questo intervallo. Il valore di Day viene diminuito di 1 e applicato al primo giorno del mese calcolato. In altri termini, (Day - 1) viene aggiunto al primo giorno del mese. Se necessario, il mese e l'anno vengono ricalcolati. I seguenti risultati illustrano questo effetto:

    • Se il valore di Day è 1, il risultato sarà il primo giorno del mese calcolato.

    • Se il valore di Day è 0, il risultato sarà l'ultimo giorno del mese precedente.

    • Se il valore di Day è -1, il risultato sarà il penultimo giorno del mese precedente.

    • Se il valore di Day è successivo alla fine del mese corrente, il risultato sarà il giorno appropriato del mese successivo. Se ad esempio il valore di Month è 4 e il valore di Day è 31, il risultato sarà l'1 maggio.

Note

In Windows 98 o Windows 2000 gli anni a due cifre per l'argomento Year vengono interpretati sulla base delle impostazioni del computer definite dall'utente. In base all'impostazione predefinita, i valori da 0 a 29 vengono interpretati come gli anni compresi tra il 2000 e il 2029, mentre i valori da 30 e 99 vengono interpretati come gli anni compresi tra il 1930 e il 1999. Per tutti gli altri argomenti Year, utilizzare un anno a quattro cifre, ad esempio 1924.

Nelle versioni precedenti di Windows, gli anni a due cifre venivano interpretati in base alle suddette impostazioni predefinite. Per essere sicuri che la funzione restituisca il valore appropriato, utilizzare un valore Year a quattro cifre.

Di seguito è fornito un esempio riferito a valori negativi, zero e positivi dell'argomento. In questo caso, la funzione DateSerial restituisce un valore Date che rappresenta il giorno precedente al primo di marzo di un anno dell'anno corrispondente a 10 anni prima rispetto all'anno corrente: in altre parole, l'ultimo giorno di febbraio di dieci anni fa.

Dim EndFeb As Date = DateSerial(-10, 3, 0)

Se il valore Month o Day supera l'intervallo normale, viene applicato all'unità immediatamente superiore, se necessario. Se, ad esempio, si specifica il valore 32 giorni, viene valutato come un mese più un numero di giorni variabile da uno a quattro, a seconda del valore di Month a cui fa riferimento. Se il valore di Year è maggiore di 9999, o se un qualsiasi argomento non rientra nell'intervallo compreso tra -2.147.483.648 e 2.147.483.647, si verificherà un errore ArgumentException. Se la data specificata dai tre argomenti è precedente alle 00.00.00 dell'1 gennaio dell'anno 1 o successiva alle 23.59.59 del 31 dicembre 9999, verrà generato un erroreArgumentOutOfRangeException.

Il tipo di dati Date comprende componenti relativi all'ora. DateSerial li imposta tutti su 0, pertanto il valore restituito rappresenta l'inizio del giorno calcolato.

Poiché ciascun valore di Date è supportato da una struttura DateTime, i relativi metodi offrono ulteriori opzioni nella creazione di un valore di Date. È ad esempio possibile utilizzare uno dei costruttori DateTime di overload per assegnare a una variabile Date i valori ottenuti con la combinazione di componenti desiderata. Nell'esempio riportato di seguito viene impostato NewDateTime sul 6 maggio 1978, un decimo di secondo prima delle 8.30:

Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)

Esempio

Nell'esempio riportato di seguito la funzione DateSerial viene utilizzata per restituire la data corrispondente all'anno, al mese e al giorno specificati.

Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)   ' Return a date.

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**DateAndTime

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

Vedere anche

Riferimenti

Funzione DateValue (Visual Basic)

Funzione Day (Visual Basic)

Funzione Month (Visual Basic)

Proprietà Now

Funzione TimeSerial (Visual Basic)

Funzione TimeValue (Visual Basic)

Funzione Weekday (Visual Basic)

Funzione Year (Visual Basic)

Tipo di dati Date (Visual Basic)

System