【发布时间】:2014-08-08 22:23:17
【问题描述】:
我的数据集中有一个日期变量(当前为数字),它具有三种类型的日期:
只是年份(yyyy)
年/月 (yyyymm)
年/月/日 (yyyymmdd)
我正在尝试将仅包含年份的日期转换为 1 月 1 日,并将具有年份/月份的日期转换为月份的第一天,以便我可以从数据集中另一个日期变量中减去日期yymmdd8 格式的日期(与#3 相同)。我在数据步骤中尝试了这个,但它不起作用:
if length(Date)=4 then DateF=mdy(1,1,substr(Date,1,4));
if length(Date)=6 then DateF=mdy(substr(Date,5,2),1,substr(Date,1,4));
if length(Date)=8 then DateF=mdy(substr(Date,5,2),substr(Date,7,2),substr(Date,1,4));
Date2=input(put(DateF,8.),YYMMDD8.);
format Date2 YYMMDD8.;
谁能告诉我我的代码有什么问题?谢谢!
【问题讨论】:
-
你确定变量是数字的吗?我认为数字变量不能以不同的格式显示。
-
这就是它在 proc 内容上显示的内容。即使不是我认为 input(put(variable)) 可以将变量更改为数字。我应该尝试使用字符变量吗?
-
哦我现在明白了...没有
/字符-只有数字字符...