Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| Functions | Si applica a |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Funzione | Si applica a |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Aggiunge o trova la differenza nei valori di data/ora ed esegue la conversione tra l'ora locale e l'ora UTC.
Descrizione
La DateAdd funzione 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 DateDiff funzione restituisce la differenza tra due valori di data/ora. Il risultato è un numero intero di unità.
Per entrambe le funzioni, le unità possono essere TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. Per impostazione predefinita, l'unità usata da entrambe le funzioni è TimeUnit.Days.
La TimeZoneOffset funzione restituisce il numero di minuti tra l'ora locale dell'utente e l'ora UTC (Coordinated Universal Time).
È possibile usare DateAdd con per eseguire la TimeZoneOffset conversione tra l'ora locale dell'utente e l'ora UTC (Coordinated Universal Time). L'aggiunta TimeZoneOffset converte un'ora locale in utc e la sottrae (aggiungendo il valore negativo) convertirà dall'ora UTC all'ora locale.
Vedere anche Tipi di dati Date, Time e DateTime e Utilizzo di date e ore per altre informazioni.
Sintassi
DateAdd( DateTime, Addition [, Units ] )
- DateTime - Obbligatorio. Valore data/ora su cui eseguire le operazioni.
- Aggiunta - Obbligatorio. Numero da aggiungere a DateTime, in Units.
- Unità - Facoltativo. Tipo di unità da aggiungere: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. Se questo argomento non è specificato, viene usato TimeUnit.Days.
DateDiff( StartDateTime, EndDateTime [, Units ] )
- StartDateTime - Obbligatorio. Valore di data/ora iniziale.
- EndDateTime -obbligatorio. Valore di data/ora finale.
- Unità - Facoltativo. Tipo di unità da sottrarre: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. Se questo argomento non è specificato, viene usato TimeUnit.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.
Semplice DateAdd
| Formula | Descrizione | Risultato |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-a hh:mm" ) |
Aggiunge tre giorni (unità predefinite) alla data e all'ora correnti. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-a hh:mm" ) |
Aggiungere quattro ore alla data e all'ora correnti. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-a 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, TimeUnit.Minutes ), "dd-mm-a hh:mm" ) |
Sottrae 30 minuti dalla data e dall'ora correnti. | "15-07-2013 12:32" |
Semplice DateDiff
| Formula | Descrizione | Risultato |
|---|---|---|
| DateDiff( Now(), DateValue("1/1/2014") ) | Restituisce la differenza tra le due unità nelle unità di misura predefinite TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) | Restituisce la differenza tra i due valori in TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.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 |
Differenza di date con risultati frazionari
La funzione DateDiff restituisce solo un numero intero di unità sottratte e la precisione viene specificata nell'unità specificata. Per calcolare la differenza con una precisione maggiore, utilizza un'unità più piccola e converti il risultato in modo appropriato, come negli esempi seguenti.
| Formula | Descrizione | Risultato |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | I minuti/secondi vengono ignorati, la differenza è basata sul tempo arrotondato all'ora. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | I minuti vengono utilizzati nella differenza e il risultato viene diviso per 60 per avere la differenza in ore. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | I minuti e i secondi vengono utilizzati nella differenza e il risultato viene diviso per 3600 per avere la differenza in ore. | 0.51 |
Conversione in formato UTC
Per eseguire la conversione in UTC (Coordinated Universal Time), aggiungere l'oggetto TimeZoneOffset per l'ora specificata.
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(), TimeUnit.Minutes )
TimeZoneOffset il valore predefinito è l'ora corrente, quindi non è necessario passarlo come argomento.
Per visualizzare il risultato, usare la funzione Text con il formato dd-mm-yyyy hh:mm, che restituirà 15-07-2013 20:02.
Conversione dal formato UTC
Per eseguire la conversione dall'ora UTC, sottrarre ( TimeZoneOffset aggiungendo il valore negativo) per l'ora specificata.
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 ), TimeUnit.Minutes )
Prendere nota del segno negativo prima TimeZoneOffset di sottrarre l'offset anziché aggiungerlo.
Per visualizzare il risultato, usare la funzione Text con il formato dd-mm-yyyy hh:mm, che restituirà 15-07-2013 13:02 se ci si trova in un fuso orario del Pacifico.