Como: |
Linguagens Disponíveis: Reporting, Maintain
HGETZ fornece o Tempo Universal Coordenado (UTC/GMT, também chamada de horário Zulu). O UTC é o padrão de hora primário pelo qual o mundo regula seus relógios.
O valor é exibido no formato de data-hora desejado. Se os valores dos milissegundos e microssegundos não estiverem disponíveis no seu ambiente operacional, a funções obterá o valor zero para estes componentes.
HGETZ(length, output)
onde:
Inteiro
É o comprimento do valor data-hora retornado. Valores válidos são:
Data-hora
É o valor data-hora obtido. Pode ser o campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O formato deve ser data-hora (tipo de dados H).
HGETZ armazena a data e hora universais atuais em DT2:
TABLE FILE VIDEOTRK
PRINT CUSTID AND COMPUTE
DT2/HYYMDm = HGETZ(10, 'HYYMDm');
WHERE CUSTID GE '2000' AND CUSTID LE '3000';
END
A saída é:
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
O fuso horário pode ser calculado como um desvio de hora positivo ou negativo do GMT. Locais ao oeste do meridiano primário possuem um desvio negativo. A solicitação a seguir utiliza a função HGETC para obter a hora local e a função HGETZ para obter a hora do GMT. A função HDIFF calcula o número de limites entres eles em minutos. A zona é encontrada através da divisão dos minutos por 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
A saída é:
LOCALTIME 2015/05/12 12:47:04 UTCTIME 2015/05/12 16:47:04 MINUTES -240 ZONE -4
Information Builders |