Funções DT: Como Converter um Número Inteiro em uma Data

Como:

Linguagens Disponíveis: Reporting, Maintain

xAs funções DT convertem um número inteiro que representa o número de dias que se passaram desde o dia 31 de dezembro de 1899 até a data correspondente. São úteis quando você estiver desempenhando cálculos aritméticos em uma data convertida no número de dias. As funções DT convertem o resultado de volta em uma data.

Há seis funções DT; cada um converte um número em uma data em um formato diferente.

Observação: Quando USERFNS for definido como LOCAL, as funções DT exibirão apenas uma data de seis dígitos.


Topo da página

x
Sintaxe: Como Converter um Número Inteiro em uma Data
						function(number, output)

onde:

Função

É um dos seguintes procedimentos:

DTDMY converte um número em uma data dia-mês-ano.

DTDYM converte um número em uma data dia-ano-mês.

DTMDY converte um número em uma data mês-dia-ano.

DTMYD converte um número em uma data mês-ano-dia.

DTYDM converte um número em uma data ano-dia-mês.

DTYMD converte um número em uma data ano-mês-dia.

number

Inteiro

É o número de dias desde 31 de dezembro de 1899. O número é truncado para um número inteiro.

saída

I8xxx, onde xxx corresponde à função DTxxx na lista acima.

É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O formato da saída depende da função sendo utilizada.



Exemplo: Como Converter um Número Inteiro em uma Data

DTMDY converte o campo NEWF (que foi convertido no número de dias por DAYMD) na data correspondente e armazena o resultado em NEW_HIRE_DATE:

-* THIS PROCEDURE CONVERTS HIRE_DATE, WHICH IS IN I6YMD FORMAT,
-* TO A DATE IN I8MDYY FORMAT.
-* FIRST IT USES THE DAYMD FUNCTION TO CONVERT HIRE_DATE 
-* TO A NUMBER OF DAYS.
-* THEN IT USES THE DTMDY FUNCTION TO CONVERT THIS NUMBER OF
-* DAYS TO I8MDYY FORMAT
-*
DEFINE FILE EMPLOYEE
NEWF/I8 WITH EMP_ID = DAYMD(HIRE_DATE, NEWF);
NEW_HIRE_DATE/I8MDYY WITH EMP_ID = DTMDY(NEWF, NEW_HIRE_DATE);
END
TABLE FILE EMPLOYEE
PRINT HIRE_DATE NEW_HIRE_DATE
BY FN BY LN
WHERE DEPARTMENT EQ 'MIS'
END

A saída é:

FIRST_NAME  LAST_NAME        HIRE_DATE  NEW_HIRE_DATE
----------  ---------        ---------  -------------
BARBARA     CROSS             81/11/02     11/02/1981
DIANE       JONES             82/05/01     05/01/1982
JOHN        MCCOY             81/07/01     07/01/1981
MARY        GREENSPAN         82/04/01     04/01/1982
            SMITH             81/07/01     07/01/1981
ROSEMARIE   BLACKWOOD         82/04/01     04/01/1982

Information Builders