我有一个包含日期值的列。因此,当导入为数字时,它显示20668,20669 ...等。如果我将其格式化为yymmddn8,它显示20160802等。但是,我真正想要的是显示20160802的数字变量。我试图创建其他来获取日,月,年然后连接它们。不幸的是,问题是如果月份和日期是1位数,它只会显示201682.实现目标的最快方法是什么。我想一个可以将日期和月份变量转换为文本,如果日期或月份小于10则添加0.但这不是优雅和有效的。请帮忙。 感谢
答案 0 :(得分:1)
您可以围绕该格式包装input
:
data test;
date = 20668;
full_date = input(put(date,yymmddn8.),best12.);
run;
put
正在按照您希望的格式将日期转换为字符,而input
格式的best12.
将其转换为该格式的数字。
答案 1 :(得分:1)
听起来您只需要在变量中附加格式。
format date yymmddn8. ;
尝试运行此程序以查看可用于显示日期的一些不同格式。
data _null_;
do date = 20668, 20669 ;
put (6*date) (=10. =date9. =yymmddn8. =mmddyy10. =ddmmyy10. =yymmdd10.) ;
end;
run;