TIME

La funzione TIME restituisce l'ora locale nel formato 24 ore: hh:mm:ss (ore, minuti e secondi) per impostazione predefinita, ad esempio 04:41:37.

Leggi diagramma di sintassiIgnora diagramma di sintassi visivo TIME( opzione )
È possibile utilizzare le seguenti opzioni per ottenere formati alternativi o per accedere all'orologio del tempo trascorso. È necessaria solo la lettera maiuscola; tutti i caratteri successivi vengono ignorati.
Civile
restituisce l'ora in formato civile: hh: mmxx. Le ore possono richiedere i valori da 1 a 12e i minuti i valori da 00 a 59. I minuti sono seguiti immediatamente dalle lettere am o pm. Ciò distingue le ore del mattino (dalle 12 di mezzanotte alle 11:59 a.m. - da 12:00am a 11:59am) da mezzogiorno e pomeriggio (da mezzogiorno a 11:59 p.m. - come 12:00pm fino a 11:59pm). L'ora non ha uno zero iniziale. Il campo minuti mostra il minuto corrente (invece del minuto più vicino) per coerenza con altri risultati TIME.
Scaduto
restituisce sssssssss.uuuuuu, il numero di seconds.microseconds dall'avvio o dalla reimpostazione dell'orologio trascorso (descritto in seguito). Il numero non ha zero iniziali o spazi vuoti e l'impostazione di NUMERIC DIGITS non influenza il numero. La parte frazionaria ha sempre sei cifre.
Ore
restituisce fino a due caratteri che forniscono il numero di ore dalla mezzanotte nel formato: hh (nessun zero iniziale o spazi vuoti, ad eccezione di un risultato di 0).
Lungo
restituisce l'ora nel formato: hh:mm:ss.uuuuuu (uuuuu è la frazione di secondi, in microsecondi). I primi otto caratteri del risultato seguono le stesse regole della forma Normale e la parte frazionaria è sempre di sei cifre.
Minuti
restituisce fino a quattro caratteri che forniscono il numero di minuti dalla mezzanotte nel formato: mmmm (senza zero iniziali o spazi vuoti, tranne per un risultato di 0).
Normale
restituisce l'ora nel formato predefinito hh:mm:ss, come descritto precedentemente. Le ore possono avere i valori da 00 a 23, e i minuti e i secondi da 00 a 59. Tutte queste sono sempre due cifre. Eventuali frazioni di secondi vengono ignorate (le ore non vengono mai arrotondate per eccesso). Questo è il valore predefinito.
Reimposta
restituisce sssssssss.uuuuuu, il numero di seconds.microseconds da quando l'orologio trascorso (descritto in seguito) è stato avviato o reimpostato e reimposta anche l'orologio trascorso su zero. Il numero non ha zero iniziali o spazi vuoti e l'impostazione di NUMERIC DIGITS non influenza il numero. La parte frazionaria ha sempre sei cifre.
Secondi
restituisce fino a cinque caratteri che forniscono il numero di secondi dalla mezzanotte nel formato: sssss (senza zero iniziali o spazi vuoti, ad eccezione di un risultato di 0).
Nota: la prima chiamata a DATE o TIME in una clausola fa sì che venga effettuata una data / ora che viene quindi utilizzata per tutte le chiamate a queste funzioni in tale clausola. Pertanto, è garantito che più chiamate a una qualsiasi delle funzioni DATE o TIME o entrambe in una singola espressione o clausola siano congruenti l'una con l'altra.

Numero massimo di implementazioni: se il numero di secondi nel tempo trascorso supera nove cifre (equivalente a oltre 31.6 anni), si verifica un errore.

Esempi

I seguenti esempi presuppongono che l'orario sia 4:54 p.m.:
TIME()       ->   '16:54:22'
TIME('C')    ->   '4:54pm'
TIME('H')    ->   '16'
TIME('L')    ->   '16:54:22.123456'   /* Perhaps */
TIME('M')    ->   '1014'           /* 54 + 60*16 */
TIME('N')    ->   '16:54:22'
TIME('S')    ->   '60862'  /* 22 + 60*(54+60*16) */

L'orologio del tempo trascorso

È possibile utilizzare la funzione TIME per misurare gli intervalli di tempo reali (trascorsi). Alla prima chiamata in un programma a TIME('E') o TIME('R'), l'orologio trascorso viene avviato e la chiamata restituisce 0. Da quel momento in poi, le chiamate a TIME('E') e a TIME('R') restituiscono il tempo trascorso dalla prima chiamata o dall'ultima chiamata a TIME('R').

L'orologio viene salvato attraverso le chiamate di routine interne, vale a dire che una routine interna eredita l'ora di avvio del chiamante. Qualsiasi tempificazione che il chiamante sta effettuando non viene influenzata, anche se una routine interna reimposta l'orologio. Un esempio dell'orologio trascorso:
time('E')    ->    0          /* The first call */
/* pause of one second here */
time('E')    ->    1.002345   /* or thereabouts */
/* pause of one second here */
time('R')    ->    2.004690   /* or thereabouts */
/* pause of one second here */
time('R')    ->    1.002345   /* or thereabouts */
Nota: consultare la nota precedente relativa alla congruenza delle ore in una singola clausola. L'orologio di tempo trascorso è sincronizzato con le altre chiamate a TIME e DATE, in modo che più chiamate all'orologio di tempo trascorso in una singola clausola restituiscano sempre lo stesso risultato. Per lo stesso motivo, l'intervallo tra due risultati usuali di TIME/DATE può essere calcolato esattamente utilizzando l'orologio del tempo trascorso.