2009-07-30 21 views

Répondre

22
data _null_; 
    format test yymmddn8.; 
    test=today(); 
    put test=; 
run; 

YYMMDDxw. documentation

+0

excellente - n'a pas réalisé sur l'option delimiter –

+0

Umm. Peut-être que je fais quelque chose de mal, mais le format qui fonctionne pour moi est: format test yymmddn8 .; – pinegulf

+0

Merci @pinegulf, j'ai mis à jour la réponse. Il n'a fallu que 8 ans pour que quelqu'un l'attrape! – adam

2

voici comment je l'ai fait en macro, mais sûrement il doit y avoir un format ?? !!!

%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-')); 

son étrange - le INFORMAT yymmdd8. donne le résultat YYYYMMDD, alors que le FORMAT yymmdd8. donne un résultat YY-MM-DD !!

13
%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.)); 

Vous voulez utiliser le format yymmddn8. Le 'n' signifie aucun séparateur.

Par http://support.sas.com/kb/24/610.html, vous pouvez spécifier B pour le blanc, C pour le signe deux-points, D pour le tiret, N pour aucun séparateur, P pour la période, ou S pour la barre oblique.

0

Vous pouvez voir tous les formats de date et heure dans l'onglet Aide lorsque vous entrez « date » à l'onglet Index, puis selecr

2
« formats de date et heure »

Il est celui qui devrait faire l'affaire aussi

%let today=%sysfunc(today(),yymmddn8.); 
%put &today.; 

Tout sur le lien ci-dessous

https://communities.sas.com/thread/60111