HEURE

La fonction TIME renvoie l'heure locale au format 24 heures: hh:mm:ss (heures, minutes et secondes) par défaut, par exemple 04:41:37.

Lire le diagramme de syntaxeIgnorer le diagramme de syntaxe graphique TIME( Option )
Vous pouvez utiliser les options suivantes pour obtenir des formats alternatifs ou pour accéder à l'horloge temps écoulé. Seule la lettre majuscule est nécessaire ; tous les caractères qui la suivent sont ignorés.
Civil
renvoie l'heure au format Civil: hh:mmxx. Les heures peuvent prendre les valeurs 1 à 12et les minutes les valeurs 00 à 59. Les minutes sont immédiatement suivies des lettres am ou pm. Cela permet de distinguer les heures du matin (de minuit à 11:59 a.m. -apparaissant sous la forme de 12:00am à 11:59am) à partir de midi et de l'après-midi (de midi à 11:59 p.m. -apparaissant sous la forme de 12:00pm à 11:59pm). L'heure n'a pas de zéro de début. La zone minute affiche la minute en cours (plutôt que la minute la plus proche) pour assurer la cohérence avec les autres résultats TIME.
Temps écoulé
renvoie sssssssss.uuuuuu, le nombre de seconds.microseconds depuis le démarrage ou la réinitialisation de l'horloge du temps écoulé (décrit plus loin). Le nombre ne comporte pas de zéros non significatifs ni de blancs, et la valeur de NUMERIC DIGITS n'affecte pas le nombre. La partie fractionnaire comporte toujours six chiffres.
Heures
renvoie jusqu'à deux caractères indiquant le nombre d'heures depuis minuit dans le format: hh (pas de zéros non significatifs ni de blancs, sauf pour un résultat de 0).
Long
renvoie l'heure au format suivant: hh:mm:ss.uuuuuu (uuuuu est la fraction de secondes, en microsecondes). Les huit premiers caractères du résultat suivent les mêmes règles que pour la forme normale, et la partie fractionnaire est toujours composée de six chiffres.
Compte-rendu de réunion
renvoie jusqu'à quatre caractères indiquant le nombre de minutes écoulées depuis minuit au format mmmm (pas de zéros non significatifs ni de blancs, à l'exception du résultat 0).
Normal
renvoie l'heure au format par défaut hh:mm:ss, comme décrit précédemment. Les heures peuvent avoir les valeurs 00 à 23, et les minutes et les secondes, 00 à 59. Tous ces chiffres sont toujours deux chiffres. Toutes les fractions de secondes sont ignorées (les temps ne sont jamais arrondis vers le haut). Il s'agit de la valeur par défaut.
Réinitialiser
renvoie sssssssss.uuuuuu, le nombre de seconds.microseconds depuis le démarrage ou la réinitialisation de l'horloge du temps écoulé (décrit plus loin) et réinitialise également l'horloge du temps écoulé à zéro. Le nombre ne comporte pas de zéros non significatifs ni de blancs, et la valeur de NUMERIC DIGITS n'affecte pas le nombre. La partie fractionnaire comporte toujours six chiffres.
Secondes
renvoie jusqu'à cinq caractères indiquant le nombre de secondes écoulées depuis minuit dans le format sssssss (pas de zéros non significatifs ni de blancs, à l'exception du résultat 0).
Remarque: Le premier appel à DATE ou TIME dans une clause entraîne la création d'un horodatage qui est ensuite utilisé pour tous les appels à ces fonctions dans cette clause. Par conséquent, plusieurs appels à l'une des fonctions DATE ou TIME ou aux deux dans une seule expression ou clause sont garantis comme étant cohérents entre eux.

Maximum d'implémentation: Si le nombre de secondes dans le temps écoulé dépasse neuf chiffres (équivalent à plus de 31.6 années), une erreur se produit.

Exemples

Dans les exemples suivants, supposons que l'heure est 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) */

Horloge de temps écoulé

Vous pouvez utiliser la fonction TIME pour mesurer les intervalles de temps réels (écoulés). Lors du premier appel d'un programme à TIME('E') ou TIME('R'), l'horloge de temps écoulé est démarrée et l'un ou l'autre appel renvoie 0. A partir de ce moment, les appels à TIME('E') et à TIME('R') renvoient le temps écoulé depuis ce premier appel ou depuis le dernier appel à TIME('R').

L'horloge est sauvegardée à travers les appels de routine interne, c'est-à-dire qu'une routine interne hérite de l'horloge temporelle démarrée par son appelant. Le temps que l'appelant effectue n'est pas affecté, même si une routine interne réinitialise l'horloge. Exemple d'horloge de temps écoulé:
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 */
Remarque: Voir la remarque précédente sur la cohérence des heures dans une seule clause. L'horloge de temps écoulé est synchronisée avec les autres appels à TIME et DATE, de sorte que plusieurs appels à l'horloge de temps écoulé dans une seule clause renvoient toujours le même résultat. Pour la même raison, l'intervalle entre deux résultats TIME/DATE usuels peut être calculé exactement à l'aide de l'horloge de temps écoulé.