As variáveis de data e hora permite visualizar na tela e armazenar informações sobre data e hora de uma forma bem pratica e simples. O conteúdo das variáveis de sistema de data e hora, conforme gerado pelo Natural, não é modificável , o que significa que em um programa Natural você não pode atribuir outro valor a nenhuma delas. Todas as variáveis do sistema de data contêm a data atual. O formato da data é diferente para cada variável de data, conforme indicado abaixo.
* D = dia, M = mês, Y = ano, Mês = apenas as 3 primeiras letras do nome obtido por *DATG
* H = hora, I = minuto, S = segundo, T = décimo de segundo.
Exemplo de Data e Time do Sistema de Variaveis
Resultado do programa acima:
Fonte: Clique Aqui Clique Aqui
Variável | Formato/Tamanho | Formato* |
---|---|---|
*DATD | A8 | DD.MM.YY |
*DAT4D | A10 | DD.MM.YYYY |
*DATE | A8 | DD/MM/YY |
*DAT4E | A10 | DD/MM/YYYY |
*DATG | A15 | DDNomeDoMêsYYYY (data gregoriana) |
*DATI | A8 | YY-MM-DD |
*DAT4I | A10 | YYYY-MM-DD |
*DATJ | A5 | YYDDD (data juliana anual / dia no ano) |
*DAT4J | A7 | YYYYDDD (data juliana anual / dia no an) |
*DATN | N8 | YYYYMMDD |
*DATU | A8 | MM/DD/YY |
*DAT4U | A10 | MM/DD/YYYY |
*DATV | A11 | DD-Mês-YYYY |
*DATVS | A9 | DDMONYYYY |
*DATX | D | formato de data interno |
Variável | Formato/Tamanho | Formato* |
---|---|---|
*TIMD (r) | N7 | Pode apenas ser usado junto com o comando SETTIME, pois fornece a diferença de tempo no formato HHIISST da sua execução do SETTIME e a da chamada da variável.(r) representa o label/marca ou linha do comando SETTIME usado como base para o *TIMD. |
*TIME | A10 | Contem a hora do dia no formato HH:II:SS.T (*). |
*TIME-OUT | N5 | Contem o número de segundos antes da transação atual dar time out (apenas disponível com Natural Security).*TIME-OUT é 0 se o mode transacional não foi acionado, que somente ocorre quando é executado um FIND, READ or GET para ler um registro da base para atualizá-lo. *TIME-OUT é reiniciado para 0 quando um END TRANSACTION ou BACKOUT TRANSACTION é executado. |
*TIMESTMP | B8 | Valor do relógio interno da máquina. Sob BS2000/OSD, este valor é disponível como hora local ou como GMT. Para ser consistente em todos os ambientes, o conteúdo de *TIMESTMP sob BS2000/OSD é sempre em GMT. |
*TIMN | N7 | Contém a hora do dia no formato HHIISST (*). |
*TIMX | T | Contém a hora do dia no formato de hora interno. |
Exemplo de Data e Time do Sistema de Variaveis
** Example 'DATIVAR': Date and time system variables
************************************************************************
DEFINE DATA LOCAL
1 #DATE (D)
1 #TIME (T)
END-DEFINE
*
WRITE NOTITLE
'DATE IN FORMAT DD.MM.YYYY ' *DAT4D /
'DATE IN FORMAT DD/MM/YYYY ' *DAT4E /
'DATE IN FORMAT DD-MON-YYYY ' *DATV /
'DATE IN FORMAT DDMONYYYY ' *DATVS /
'DATE IN GREGORIAN FORM ' *DATG /
'DATE IN FORMAT YYYY-MM-DD ' *DAT4I /
'DATE IN FORMAT YYYYDDD ' *DAT4J /
'DATE IN FORMAT YYYYMMDD ' *DATN (AD=L) /
'DATE IN FORMAT MM/DD/YYYY ' *DAT4U /
'DATE IN INTERNAL FORMAT ' *DATX (DF=L) ///
'TIME IN FORMAT HH:II:SS.T ' *TIME /
'TIME IN FORMAT HHIISST ' *TIMN (AD=L) /
'TIME IN INTERNAL FORMAT ' *TIMX /
*
MOVE *DATX TO #DATE
ADD 14 TO #DATE
WRITE 'CURRENT DATE' *DATX (DF=L) 3X
'CURRENT DATE + 14 DAYS ' #DATE (DF=L)
*
MOVE *TIMX TO #TIME
ADD 100 TO #TIME
WRITE 'CURRENT TIME' *TIMX 5X
'CURRENT TIME + 10 SECONDS' #TIME
*
END
Resultado do programa acima:
DATE IN FORMAT DD.MM.YYYY 11.01.2005
DATE IN FORMAT DD/MM/YYYY 11/01/2005
DATE IN FORMAT DD-MON-YYYY 11-Jan-2005
DATE IN FORMAT DDMONYYYY 11Jan2005
DATE IN GREGORIAN FORM 11January 2005
DATE IN FORMAT YYYY-MM-DD 2005-01-11
DATE IN FORMAT YYYYDDD 2005011
DATE IN FORMAT YYYYMMDD 20050111
DATE IN FORMAT MM/DD/YYYY 01/11/2005
DATE IN INTERNAL FORMAT 2005-01-11
TIME IN FORMAT HH:II:SS.T 14:42:05.4
TIME IN FORMAT HHIISST 1442054
TIME IN INTERNAL FORMAT 14:42:05
CURRENT DATE 2005-01-11 CURRENT DATE + 14 DAYS 2005-01-25
CURRENT TIME 14:42:05 CURRENT TIME + 10 SECONDS 14:42:15
Fonte: Clique Aqui Clique Aqui
0 comentários:
Enviar um comentário