Time

Tratamento de datas e horas.

Sintaxe

Time [ AAAAMMDD | DDMMAAAA ]
          { ADD DAYS dias-a-somar
             DATE  data-inicial 
             DATE-FINAL;data-resultante }
        | { EDIT
             [ DATE  data-a-editar
                         [ DATE-EDITED;data-editada ]
                         [ DATE-EDITED-LONG;data-por-extenso ]
                         [ MOUNTH-EDITED;mes-por-extenso ] ]
             [ TIME  hora-a-editar
                          TIME-EDITED;hora-editada ] }
        | { INTERVAL
          [ DATE  data-inicial   DATE-FINAL data-final
                     [ YEARS-OLD;anos-decorridos ]
                     [ MOUNTHS-OLD; meses-dos-anos-decorridos ]
                     [ DAYS-OLD;dias-dos-anos-decorridos ]
                     [ DAYS-FINAL;dias-decorridos ]  ]
          [ TIME hora-inicial TIME-FINAL hora-final
                    [ TOTAL-TIME;segundos-decorridos ]
                    [ TOTAL-HOURS;horas-decorridas ]
                    [ TOTAL-MINUTES;minutos-das-horas-decorridas ]
                    [ TOTAL-SECONDS;segundos-das-horas-decorridas ] ] }
        | { REVERSE DATE  data-inicial DATE-FINAL;data-resultante }
        | { SUBTRACT  DAYS dias-a-subtrair
             DATE  data-inicial            
             DATE-FINAL;data-resultante }
        | { TODAY [ DATE-FINAL;data-corrente ] [ TIME-FINAL hora-corrente ] }
        | { VALIDATE DATE  data-a-verificar DATE-FINAL;data-retornada }
        | { WEEK DATE  data-base [ WEEK-NUM;código-do-dia-da-semana ] [ WEEK-CHAR;nome-do-dia-da-semana ] }
        | { MINIMUM YEAR menor-ano-válido }
        | { MAXIMUM YEAR maior-ano-válido }

Argumentos

AAAAMMDD, DDMMAAAA

Indica a o formato de data a ser utilizado nas datas envolvidas na operação. O default é AAAAMMDD.

ADD

Somar um número de dias dias a uma data.

dias-a-somar

Número de dias a somar à data-inicial

data-inicial


Data de 8 dígitos a ser processada.

data-resultante

Variável de 8 bytes que recebe a data resultante do processo de soma de dias.

Exemplo

EXEC COBOLware Time ADD DAYS prazo
           DATE data-digitada
           DATE-FINAL;data-vencimento
           DDMMAAAA
END-EXEC-

 

EDIT

Converte datas e horas para extenso

data-a-editar


Data de 8 dígitos a ser processada.

data-editada

Variável texto de 10 bytes que recebe a data editada no formato DD/MM/AAAA.

data-por-extenso

Variável texto de 23 bytes que recebe a data por extenso no formato DD de MMMMMMMMM de AAAA.

mês-por-extenso

Variável texto de 14 bytes que recebe o mês por extenso no formato MMMMMMMMM/AAAA.

hora-a-editar

Hora de 6 dígitos a ser processada no formato HHMMSS.

hora-editada.

Variável texto de 8 bytes que recebe a hora editada no formato HH:MM:SS.

Exemplo

EXEC COBOLware Time EDIT DDMMAAAA
           DATE data-vencimento
           DATE-EDITED;data-mensagem
END-EXEC

 

INTERVAL

Calcula o intervalo de tempo decorrido entre um período de datas e horas.

data-inicial

Menor data do período.

data-final

Maior data do período.

anos-decorridos

Variável de 4 dígitos que retorna os anos decorridos no período (idade).

meses-dos-anos-decorridos

Variável de 2 dígitos que retorna os meses do período decorrido que restam sem completar um ano.

dias-dos-anos-decorridos

Variável de 2 dígitos que retorna os dias do no período decorrido que restam sem completar um mes.

dias-decorridos

Variável de 7 dígitos que retorna o montante de dias decorridos no período.

hora-inicial


Maior hora do período no formato HHMMSS.

hora-final

Menor hora do período no formato HHMMSS.

segundos-decorridos

Variável de 12 dígitos que retorna o montante de segundos decorridos no período.

horas-decorridas


Variável de 9 dígitos que retorna o montante de horas decorridas no período.

minutos-das-horas-decorridas

Variável de 2 dígitos que retorna os minutos decorridos no período que restam sem completar uma hora.

segundos-das-horas-decorridas


Variável de 2 dígitos que retorna os segundos decorridos no período que restam sem completar um minuto.

Exemplo

EXEC COBOLware Time TODAY
           DATE-FINAL;data-de-hoje
END-EXEC

EXEC COBOLware Time INTERVAL
           DATE nascimento
           DATE-FINAL data-de-hoje
           YEARS-OLD;idade
END-EXEC

 

REVERSE

Permuta formato da data entre DDMMAAAA e AAAAMMDD.

data-inicial

Data no formato original.

data-resultante


Variável de 8 dígitos que retorna a data invertida ou revertida de acordo com o formato definido AAAAMMDD ou DDMMAAAA.

Exemplo

EXEC COBOLware Time REVERSE
           DATE data-normal DDMMAAAA
           DATE-FINAL;data-invertida
END-EXEC

 

SUBTRACT

Subtrair um número de dias dias de uma data.

dias-a-subtrair

Numero de dias a subtrair da data-inicial

data-inicial

Data de 8 dígitos a ser processada.

data-resultante

Variável de 8 bytes que recebe a data resultante do processo de subtração de dias.

Exemplo

EXEC COBOLware Time SUBTRACT DAYS 30
           DATE data-digitada
           DATE-FINAL;vencimento-anterior
           DDMMAAAA
END-EXEC

 

TODAY

Obtém data e hora corrente.

data-corrente

Variável de 8 bytes que recebe a data corrente.

hora-corrente

Variável de 6 bytes que recebe a hora corrente no formato HHMMSS.

Exemplo

EXEC COBOLware Time TODAY
           DATE-FINAL;data-de-hoje
END-EXEC

 

VALIDATE

Validação de data.

data-a-verificar

Dada a ser verificada.

data-retornada

Variável de 8 bytes que recebe a data verificada ou zeros se a data-a-verificar não for uma data válida.

Exemplo

EXEC COBOLware Time VALIDATE
           DATE data-digitada
           DATE-FINAL;data-digitada
END-EXEC

IF  data-digitada = ZERO
      EXEC COBOLware Send
                 MESSAGE "Data inválida"          
      END-EXEC
END-IF

 

WEEK

Calcula o dia da semana de uma data.

data-base

Data a ser considerada para calculo do dia da semana.

código-do-dia-da-semana

Variável de 1 byte que recebe o código do dia da semana.

nome-do-dia-da-semana

Variável de 7 bytes que recebe a descrição do dia da semana.

0

Sábado

1

Domingo

2

Segunda

3

Terça

4

Quarta

5

Quinta

6

Sexta

Exemplo

EXEC COBOLware Time TODAY
           DATE-FINAL;data-de-hoje
END-EXEC

EXEC COBOLware Time WEEK
           DATE data-de-hoje
           WEEK-NUM;dia-semana
END-EXEC

IF  dia-semana < 2
      EXEC COBOLware Send
                 MESSAGE "Hoje é dia de folga"
      END-EXEC
END-IF

 

MINIMUM

Define o menor valor valido para o ano na validação de data.

menor-ano-válido

Valor de 1 a 999. Por default o comando aceita qualquer valor como ano válido. A partir da execução deste comando a validação passará a considerar este valor como o menor ano válido.

Exemplo

EXEC COBOLware Time
           MINIMUM YEAR 1900
END-EXEC

 

MAXIMUM

Define o menor valor valido para o ano na validação de data.

maior-ano-válido

Valor de 1 a 999. Por default o comando aceita qualquer valor como ano válido. A partir da execução deste comando a validação passará a considerar este valor como o maior ano válido.

Exemplo

EXEC COBOLware Time
           MAXIMUM YEAR 2005
END-EXEC