COBOL - Funções intrínsecas - CURRENT-DATE


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Funções intrínsecas - CURRENT-DATE
Intrinsic functions - Enterprise COBOL for z/OS 6.3.0

A função CURRENT-DATE retorna um valor alfanumérico de 21 caracters que representa a data do calendário, a hora do dia e a diferença horária da hora média de Greenwich fornecida pelo sistema no qual a função é avaliada.

O tipo de função é alfanumérico.

Lendo da esquerda para a direita, as 21 posições de caracters do valor retornado são as seguintes:

Posições Conteúdo
1-4 Quatro dígitos numéricos do ano no calendário gregoriano
5-6 Dois dígitos numéricos do mês do ano, no intervalo de 01 a 12
7-8 Dois dígitos numéricos do dia do mês, no intervalo de 01 a 31
9-10 Dois dígitos numéricos das horas após a meia-noite, no intervalo de 00 a 23
11-12 Dois dígitos numéricos dos minutos após a hora, no intervalo de 00 a 59
13-14 Dois dígitos numéricos dos segundos após o minuto, no intervalo de 00 a 59
15-16 Dois dígitos numéricos dos centésimos de segundo após o segundo, no intervalo de 00 a 99.
O valor 00 será retornado se o sistema no qual a função for avaliada não tiver a facilidade de fornecer a parte fracionária de um segundo.
17 O caracter '-' ou o caracter '+'.
O caracter '-' será retornado se o horário local indicado nas posições anteriores do personagem estiver atrás do horário médio de Greenwich.
O caracter '+' será retornado se o horário local indicado for o mesmo ou antes do horário médio de Greenwich.
O caracter '0' será retornado se o sistema no qual esta função for avaliada não tiver a capacidade de fornecer o fator diferencial de horário local.
18-19 Se a posição 17 do caracter for '-', dois dígitos numéricos serão retornados no intervalo de 00 a 12, indicando o número de horas que o tempo relatado está atrás do tempo médio de Greenwich.
Se a posição do caracter 17 for '+', dois dígitos numéricos serão retornados no intervalo de 00 a 13, indicando o número de horas que o tempo relatado está adiantado no tempo médio de Greenwich.
Se a posição do caracter 17 for '0', o valor 00 será retornado.
20-21 Dois dígitos numéricos são retornados no intervalo de 00 a 59, indicando o número de minutos adicionais que o tempo relatado está adiantado ou atrasado no tempo médio de Greenwich, dependendo se a posição do caracter 17 é '+' ou '-', respectivamente.
Se a posição do caracter 17 for '0', o valor 00 será retornado.

Exemplo:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CURDATE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       
       01  ITEM-DE-GRUPO.
           05 ANO                  PIC 9(004).
           05 MES                  PIC 9(002).
           05 DIA                  PIC 9(002).
           05 HORA                 PIC 9(002).
           05 MINUTO               PIC 9(002).
           05 SEGUNDO              PIC 9(002).
           05 CENTESIMO-SEGUNDO    PIC 9(002).
           05 DIFERENCA-GREENWICH  PIC X(005).  
           
       01  WT-DATA.
           05 WT-ANO               PIC 9(004).
           05 WT-MES               PIC 9(002).
           05 WT-DIA               PIC 9(002). 
           
       01  WT-HORA.
           05 WT-HOR               PIC 9(002).
           05 WT-MIN               PIC 9(002).
           05 WT-SEG               PIC 9(002).           
           
       PROCEDURE DIVISION.

           MOVE FUNCTION CURRENT-DATE TO ITEM-DE-GRUPO

           DISPLAY 'FUNCTION CURRENT-DATE: ' ITEM-DE-GRUPO. 
           DISPLAY 'ANO                  : ' ANO
           DISPLAY 'MES                  : ' MES
           DISPLAY 'DIA                  : ' DIA
           DISPLAY 'HORA                 : ' HORA
           DISPLAY 'MINUTO               : ' MINUTO
           DISPLAY 'SEGUDO               : ' SEGUNDO
           DISPLAY 'CENTESIMO DE SEGUNDO : ' CENTESIMO-SEGUNDO
           DISPLAY 'DIFERENCA-GREENWICH  : ' DIFERENCA-GREENWICH
           
           MOVE FUNCTION CURRENT-DATE(1:8) TO WT-DATA
           DISPLAY 'FUNCTION CURRENT-DATE - DATA: ' WT-DATA.
           
           MOVE FUNCTION CURRENT-DATE(9:6) TO WT-HORA
           DISPLAY 'FUNCTION CURRENT-DATE - HORA: ' WT-HORA.

           STOP RUN.

Resultado

       FUNCTION CURRENT-DATE: 2020071914525848+0000
       ANO                  : 2020
       MES                  : 07
       DIA                  : 19
       HORA                 : 14
       MINUTO               : 52
       SEGUDO               : 58
       CENTESIMO DE SEGUNDO : 48
       DIFERENCA-GREENWICH  : +0000

       FUNCTION CURRENT-DATE - DATA: 20200719

       FUNCTION CURRENT-DATE - HORA: 145258

Para obter mais informações, consulte Examples: numeric intrinsic functions.



© Copyright IBM Corp.