logo

Dates : Affichage de date

Bonjour.

J’aurais souhaité afficher une date sous la forme suivante : Janvier 2005 (en français, mais sans le numéro du jour).

D’avance merci.

Bonjour.

Si vos données sont sous forme de dates SAS, vous pouvez utiliser :

  • les formats « français » de dates de SAS, comme FRADFWDX. qui afficherait 01 janvier 2005 ;
  • un format de type particulier, appelé PICTURE, créé par la procédure FORMAT. Dans le cas de votre demande, c’est ce qu’il convient d’utiliser :
PROC FORMAT ;
    PICTURE testDate
     LOW - HIGH = '%B %Y' (DATATYPE = DATE)
    ;
 RUN ;

 

Dans cette syntaxe, l’option DATATYPE = DATE permet de spécifier le type de données lues. On peut également avoir deux autres valeurs, TIME et DATETIME.

Les éléments %Y, %B qui composent la valeur affichée sont des mots-clés reconnus de la procédure FORMAT. Les principaux éléments sont :

  • %a = jour de la semaine en français sur 3 lettres
  • %A = jour de la semaine en français
  • %b = mois sur 3 lettres en français
  • %B = mois en français
  • %d = jour du mois sans zéro initial
  • %0d = jour du mois sur deux chiffres
  • %j = jour de l’année (de 1 à 366)
  • %m = mois (1 à 12) sans zéro initial
  • %0m = mois sur deux chiffres
  • %0y = année sur deux chiffres
  • %Y = année sur quatre chiffres

Enfin, il est recommandé d’employer des apostrophes et non des guillemets autour de la valeur formatée afin d’éviter toute intervention du compilateur macro.