Fonctions DT : Convertir un nombre entier en une date

Comment :

Langages disponibles : reporting, Maintain

xLes fonctions DT convertissent un entier représentant le nombre de jours écoulés depuis le 31 décembre 1899 à la date correspondante. Elles sont utiles lorsque vous effectuez des calculs arithmétioques sur une date convertie en nombre de jours (pour plus d'informations, consultez Fonctions DA : Convertir une date en nombre entier). Les fonctions DT remettent le résultat à une date.

Il existe six fonctions DT, dont chacune convertit un nombre en une date dans un format différent.

Remarque : lorsque USERFNS est défini à LOCAL, les fonctions DT affichent seulement une date à six chiffres.


Haut de page

x
Syntaxe : Convertir un entier en date
						function(number, output)

où :

function

indique une des choses suivantes :

DTDMY convertit un nombre en une date au format jour-mois-année.

DTDYM convertit un nombre en une date au format jour-année-mois.

DTMDY convertit un nombre en une date au format mois-jour-année.

DTMYD convertit un nombre en une date au format mois-année-jour.

DTYDM convertit un nombre en une date au format année-jour-mois.

DTYMD convertit un nombre en une date au format année-mois-jour.

number

Entier

est le nombre de jours depuis le 31 décembre 1899. Le nombre est tronqué à un nombre entier.

output

I8xxx, où xxx correspond à la fonction xxx dans la liste ci-dessus.

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le format de sortie dépend de la fonction utilisée.



Exemple : Convertir un nombre entier en une date

DTMDY convertit le champ NEWF (qui a été converti en nombre de jours par DAYMD) à la date correspondante; le résultat est stocké dans 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

La sortie est :

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

WebFOCUS