SAS - Date et heures

Les dates IN SAS sont un cas particulier de valeurs numériques. Chaque jour se voit attribuer une valeur numérique spécifique à partir du 1er janvier 1960. Cette date reçoit la valeur de date 0 et la date suivante a une valeur de date de 1 et ainsi de suite. Les jours précédents à cette date sont représentés par -1, -2 et ainsi de suite. Avec cette approche, SAS peut représenter n'importe quelle date dans le futur et n'importe quelle date dans le passé.

Lorsque SAS lit les données à partir d'une source, il convertit les données lues dans un format de date spécifique comme spécifié le format de date. La variable pour stocker la valeur de date est déclarée avec les informations appropriées requises. La date de sortie est affichée à l'aide des formats de données de sortie.

SAS Date Informat

Les données sources peuvent être lues correctement en utilisant des informations de date spécifiques comme indiqué ci-dessous. Le chiffre à la fin de l'informat indique la largeur minimale de la chaîne de date à lire complètement à l'aide de l'informat. Une largeur plus petite donnera un résultat incorrect. avec SAS V9, il existe un format de date génériqueanydtdte15. qui peut traiter n'importe quelle entrée de date.

Date d'entrée Largeur de la date Informat
03/11/2014 dix mmddyy10.
11/03/14 8 mmddyy8.
11 décembre 2012 20 worddate20.
14 mars 2011 9 date9.
14 mars 2011 11 date11.
14 mars 2011 15 anydtdte15.

Exemple

Le code ci-dessous montre la lecture de différents formats de date. Veuillez noter que toutes les valeurs de sortie ne sont que des nombres car nous n'avons appliqué aucune instruction de format aux valeurs de sortie.

DATA TEMP;
INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10.   ;
DATALINES;
02-mar-2012 3/02/2012 3/02/2012
;
PROC PRINT DATA = TEMP;
RUN;

Lorsque le code ci-dessus est exécuté, nous obtenons la sortie suivante.

Format de sortie de date SAS

Les dates après avoir été lues, peuvent être converties dans un autre format selon les besoins de l'affichage. Ceci est réalisé à l'aide de l'instruction de format pour les types de date. Ils prennent les mêmes formats que les informats.

Exemple

Dans l'exemple ci-dessous, la date est lue dans un format mais affichée dans un autre format.

DATA TEMP;
INPUT  @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.;
format  DOJ1 date11.  DOJ2 worddate20. ;
DATALINES;
01/12/2012 02/11/1998 
;
PROC PRINT DATA = TEMP;
RUN;

Lorsque le code ci-dessus est exécuté, nous obtenons la sortie suivante.