quarta-feira, maio 27, 2020

Variaveis de Data e Hora

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.
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
* D = dia, M = mês, Y = ano, Mês = apenas as 3 primeiras letras do nome obtido por *DATG
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.
* H = hora, I = minuto, S = segundo, T = décimo de segundo.

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