Quando trabalhamos com datas no Natural, o que é simulado aqui não faz parte oficial dos produtos da Software AG, os clientes são fortemente aconselhados a considerar esses utilitários e amostras como "exemplos de trabalho", a partir dos quais eles devem construir e testar suas próprias soluções. Nesse artigo apresento alguns conceitos teóricos e exemplos práticos.
As variáveis Date e Time do Natural facilitam o código e facilitam a leitura.
Programa DTDIFF
Resultado do programa DTDIFF
Programa TMDIFF
Resultado do programa TMDIFF
Programa TMNEW
Resultado do programa TMNEW
Descrição :
Introdução
=========
Uma variável de formato D (decimal compactado de 4 bytes, internamente (P6)) contém um valor de data no intervalo de 1582-01-01 a 2400-12-31. Uma variável de formato T (decimal compactado de 7 bytes, internamente (P13)) é composta de componentes de data e hora. A parte da data parece e age como uma variável de formato D e a parte de hora contém um valor no intervalo de 00: 00: 00.0 a 23: 59: 59.9. A instrução MOVE EDITED (com restrições) é usada para converter variáveis D & T de e para formatos alfanuméricos.
As variáveis D & T podem ser preenchidas usando Variáveis do Sistema, como * DATX e * TIMX, mas literais também podem ser usados.
Os literais de formato D são especificados com ano de 4 dígitos, mês de 2 dígitos e dia de 2 dígitos. A sequência dos componentes e o delimitador específico são específicos da sessão. Você pode executar um programa Natural 1-ine para determiná-los.
write * DATX.
Quando executo este programa, vejo uma data no formato mm/dd/aa, que indica que os literais de formato D devem ser especificados no formato mm/ dd/aaaa.
O componente de hora de uma variável de formato T é representado no formato hh: mm: ss, embora a precisão da variável seja de 10 segundos. Os componentes de data e hora podem ser especificados juntos em um único literal.
Formato D: D'04 /
08/2015 « Formato T: T'13: 00: 00 '/ * 1:00 pm
Formato eletrônico: E'04 / 08/2015 13:00:00'
Cálculos
=========
Variáveis de formato numérico podem ser adicionadas ou subtraídas de variáveis D para mover datas para frente ou para trás.
Compostos separados de data e hora podem ser combinados adicionando-se uma variável D a uma variável T.
T variaveis podem ser usadas para conter uma duração para mover os tempos para frente ou para trás.
Sample Code
==========
DTDIFF demonstra como calcular o número de dias entre duas datas O
TMDIFF demonstra como calcular o número de dias, horas, minutos e segundos entre duas vezes.
TMNEW demonstra como um campo de tempo pode ser usado para especificar uma duração (por exemplo, 1,5 horas) a ser usada nos cálculos;
As variáveis Date e Time do Natural facilitam o código e facilitam a leitura.
Programa DTDIFF
* DTDIFF DEFINE DATA LOCAL 1 #FROM (D) INIT1 #TO (D) INIT 1 #DAYS (N3) END-DEFINE #DAYS := D'04/09/2015' - D'04/06/2015' WRITE #DAYS 'days between D"04/09/2015" and D"04/06/2015"' * #DAYS := #TO - #FROM WRITE #DAYS 'days between #FROM and #TO' * #DAYS := *DATX - D'04/06/2015' WRITE #DAYS 'days between *DATX and D"04/06/2015"' END
Resultado do programa DTDIFF
3 days between D'04/09/2015' and D'04/06/2015' 3 days between #FROM and #TO 3 days between *DATX and D'04/06/2015'
Programa TMDIFF
* TMDIFF DEFINE DATA LOCAL 1 #FROM (T) INIT1 #THRU (T) INIT 1 #HOURS (T) (HD='hh:mm:ss') 1 #D (D) 1 #DAYS (I1) (HD='Days') END-DEFINE ASSIGN #HOURS = #THRU - #FROM /* duration ASSIGN #D = #HOURS /* extract days ASSIGN #DAYS = #D /* D to numeric format DISPLAY #DAYS #HOURS END
Resultado do programa TMDIFF
Days hh:mm:ss ---- -------- 1 18:10:01
Programa TMNEW
* TMNEW DEFINE DATA LOCAL 1 #PDT (T) INIT <*TIMX> (HD='Pacific Time') 1 #NDT (T) (HD='Newfoundland Time') END-DEFINE COMPUTE #NDT = #PDT + T'03:30:00' /* 3.5 hours DISPLAY #PDT (EM=YYYY/MM/DD^HH:II:SS) #NDT (EM=YYYY/MM/DD^HH:II:SS) END
Resultado do programa TMNEW
Pacific Time Newfoundland Time ------------------- ------------------- 2015/04/09 00:19:03 2015/04/09 03:49:03
Descrição :
Introdução
=========
Uma variável de formato D (decimal compactado de 4 bytes, internamente (P6)) contém um valor de data no intervalo de 1582-01-01 a 2400-12-31. Uma variável de formato T (decimal compactado de 7 bytes, internamente (P13)) é composta de componentes de data e hora. A parte da data parece e age como uma variável de formato D e a parte de hora contém um valor no intervalo de 00: 00: 00.0 a 23: 59: 59.9. A instrução MOVE EDITED (com restrições) é usada para converter variáveis D & T de e para formatos alfanuméricos.
As variáveis D & T podem ser preenchidas usando Variáveis do Sistema, como * DATX e * TIMX, mas literais também podem ser usados.
Os literais de formato D são especificados com ano de 4 dígitos, mês de 2 dígitos e dia de 2 dígitos. A sequência dos componentes e o delimitador específico são específicos da sessão. Você pode executar um programa Natural 1-ine para determiná-los.
write * DATX.
Quando executo este programa, vejo uma data no formato mm/dd/aa, que indica que os literais de formato D devem ser especificados no formato mm/ dd/aaaa.
O componente de hora de uma variável de formato T é representado no formato hh: mm: ss, embora a precisão da variável seja de 10 segundos. Os componentes de data e hora podem ser especificados juntos em um único literal.
Formato D: D'04 /
08/2015 « Formato T: T'13: 00: 00 '/ * 1:00 pm
Formato eletrônico: E'04 / 08/2015 13:00:00'
Cálculos
=========
Variáveis de formato numérico podem ser adicionadas ou subtraídas de variáveis D para mover datas para frente ou para trás.
Compostos separados de data e hora podem ser combinados adicionando-se uma variável D a uma variável T.
T variaveis podem ser usadas para conter uma duração para mover os tempos para frente ou para trás.
Sample Code
==========
DTDIFF demonstra como calcular o número de dias entre duas datas O
TMDIFF demonstra como calcular o número de dias, horas, minutos e segundos entre duas vezes.
TMNEW demonstra como um campo de tempo pode ser usado para especificar uma duração (por exemplo, 1,5 horas) a ser usada nos cálculos;

0 comentários:
Enviar um comentário