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
|
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
|