Aggiunge o trova la differenza nei valori di data/ora ed esegue la conversione tra l'ora locale e l'ora UTC.

Descrizione

La funzione DateAdd aggiunge un numero di unità a un valore di data/ora. Il risultato è un nuovo valore di data/ora. È possibile anche sottrarre un numero di unità da un valore di data/ora specificando un valore negativo.

La funzione DateDiff restituisce la differenza tra due valori di data/ora. Il risultato è un numero di unità.

Per entrambe le funzioni, le unità possono essere millisecondi, secondi, minuti, ore, giorni, mesi, trimestri o anni. Per impostazione predefinita, l'unità usata da entrambe le funzioni è Days.

La funzione TimeZoneOffset restituisce il numero di minuti tra l'ora locale dell'utente e l'ora UTC (Coordinated Universal Time).

È possibile usare DateAdd con TimeZoneOffset per la conversione tra l'ora locale dell'utente e l'ora UTC (Coordinated Universal Time). L'aggiunta di TimeZoneOffset convertirà un'ora locale nell'ora UTC e la sottrazione (aggiunta del valore negativo) eseguirà la conversione dall'ora UTC all'ora locale.

Per altre informazioni, vedere Working with dates and times (Uso di date e ore).

Sintassi

DateAdd( DateTime, Addition [, Units ] )

  • DateTime: obbligatorio. Valore di data/ora su cui eseguire le operazioni.
  • Addition: obbligatorio. Numero da aggiungere a DateTime, in Units.
  • Units: facoltativo. Il tipo di unità da aggiungere: millisecondi, secondi, minuti, ore, giorni, mesi, trimestri o anni. Se questo argomento non è specificato, viene usato Days.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime: obbligatorio. Valore di data/ora iniziale.
  • EndDateTime: obbligatorio. Valore di data/ora finale.
  • Units: facoltativo. Il tipo di unità da aggiungere: millisecondi, secondi, minuti, ore, giorni, mesi, trimestri o anni. Se questo argomento non è specificato, viene usato Days.

TimeZoneOffset( [ DateTime ] )

  • DateTime: facoltativo. Valore di data/ora per il quale restituire l'offset. Per impostazione predefinita vengono usati la data e l'ora correnti.

Esempi

In tutti questi esempi si supponga che la data e l'ora correnti siano 15 luglio 2013, 1:02 PM.

DateAdd semplice

Formula Descrizione Risultato
Text( DateAdd( Now(), 3 ),
"gg-mm-aaaa hh:mm" )
Aggiunge tre giorni (unità predefinite) alla data e all'ora correnti. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, Hours ),
"gg-mm-aaaa hh:mm" )
Aggiungere quattro ore alla data e all'ora correnti. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, Months ),
"gg-mm-aaaa hh:mm" )
Aggiunge un mese alla data corrente, senza l'ora poiché Today non restituisce un componente ora. "15-08-2013 00:00"
Text( DateAdd( Now(), ‑30, Minutes ),
"gg-mm-aaaa hh:mm" )
Sottrae 30 minuti dalla data e dall'ora correnti. "15-07-2013 12:32"

DateDiff semplice

Formula Descrizione Risultato
DateDiff( Now(), DateValue("1/1/2014") ) Restituisce la differenza tra le due unità nelle unità di misura predefinite di Giorni 170
DateDiff( Now(), DateValue("1/1/2014"), Months ) Restituisce la differenza tra i due valori in Mesi 6
DateDiff( Now(), Today(), Minutes ) Restituisce la differenza tra la data e l'ora correnti e solo la data corrente (non l'ora), in minuti. Poiché il valore Now è successivo a Today il risultato sarà negativo. -782

Conversione in formato UTC

Per convertire in formato UTC (Coordinated Universal Time), aggiungere TimeZoneOffset per il tempo specificato.

Si supponga, ad esempio, che la data e l'ora correnti siano 15 luglio 2013, 1:02 PM nell'ora legale Pacifico (PDT, UTC-7). Per determinare l'ora corrente in formato UTC, usare:

  • DateAdd( Now(), TimeZoneOffset(), Minutes )

TimeZoneOffset usa come impostazione predefinita l'ora corrente e non è quindi necessario passare un argomento.

Per visualizzare il risultato, usare la funzione Text con il formato gg-mm-aaaa hh: mm, che restituirà 15-07-2013 20:02.

Conversione dal formato UTC

Per eseguire la conversione dal formato UTC, sottrarre TimeZoneOffset, aggiungendo il corrispondente negativo, per il tempo specificato.

Si supponga, ad esempio, che la data e l'ora UTC 15 luglio 2013, 8:02 PM vengano archiviate in una variabile denominata StartTime. Per modificare l'ora per il fuso orario dell'utente, usare:

  • DateAdd( StartTime, -TimeZoneOffset( StartTime ), Minutes )

Si noti il segno negativo prima di TimeZoneOffset per sottrarre l'offset anziché aggiungerlo.

Per visualizzare il risultato, usare la funzione Text con il formato gg-mm-aaaa hh:mm, che restituirà 15-07-2013 13:02 se ci si trova in un fuso orario del Pacifico.