HGETZ : Stockage du temps universel coordonné en cours dans un champ date-heure

Comment :

Langages disponibles : reporting, Maintain

HGETZ fournit le temps universel coordonné en cours (temps UTC/GMT, souvent appelé temps Zulu). UTC et le temps civil principal standard par lequel le monde régule les horloges et le temps officiel.

La valeur est renvoyée au format date-heure désiré. Si les valeurs milliseconde ou microseconde ne sont pas disponibles dans votre environnement d'exploitation, la fonction récupère la valeur zéro pour ces composants.


Haut de page

x
Syntaxe : Stocker l'heure et la date universelles dans un champ date-heure
HGETZ(length, output)

où :

length

Entier

est la longueur de la valeur date-heure renvoyée. Voici les valeurs valables :

  • 8 indique la valeur d'heure en millisecondes.
  • 10 indique la valeur d'heure en microsecondes.
  • 12 indique la valeur d'heure en millisecondes.
output

Date-heure

est la valeur date-heure renvoyée. Cela peut être un champ qui contient le résultat, ou le format entier de la valeur de sortie entre guillemets simples. Le format doit être au format date-heure (type de données H).



Exemple : Stockage de la date et l'heure universelle dans un champ date-heure (reporting)

HGETZ stocke la date et l'heure universelles actuelles dans DT2 :

TABLE FILE VIDEOTRK
PRINT CUSTID AND COMPUTE
DT2/HYYMDm = HGETZ(10, 'HYYMDm');
WHERE CUSTID GE '2000' AND CUSTID LE '3000';
END

La sortie est :

  CUSTID  DT2                  
  ------  ---                        
  2165    2015/05/08 14:43:08.740000
  2187    2015/05/08 14:43:08.740000
  2280    2015/05/08 14:43:08.740000
  2282    2015/05/08 14:43:08.740000
  2884    2015/05/08 14:43:08.740000


Exemple : Calcul du fuseau horaire

Le fuseau horaire peut être calculé en tant que différence positive ou négative en heures par rapport au temps GMT. Les locations situées à l'ouest du méridien principal présentent une différence négative. La requête suivante utilise la fonction HGETC pour extraire l'heure locale, et la fonction HGETZ pour extraire le temps GMT. La fonction HDIFF calcul le nombre de limites de fuseaux horaires entre elles en minutes. La zone est obtenue en divisant les minutes par 60:

DEFINE FILE EMPLOYEE
LOCALTIME/HYYMDS = HGETC(8, LOCALTIME);
UTCTIME/HYYMDS = HGETZ(8, UTCTIME);
MINUTES/D4= HDIFF(LOCALTIME, UTCTIME, 'MINUTES', 'D4');
ZONE/P3 = MINUTES/60;
END
TABLE FILE EMPLOYEE
PRINT EMP_ID NOPRINT OVER
LOCALTIME  OVER
UTCTIME OVER
MINUTES OVER
ZONE
IF RECORDLIMIT IS 1
END

La sortie est :

  LOCALTIME  2015/05/12 12:47:04
  UTCTIME    2015/05/12 16:47:04
  MINUTES                   -240
  ZONE                        -4

WebFOCUS