wwang111 发表于 2016-7-13 08:06 
data wanted;
var1="12Mar16:00:00:00";
date=input(var1,datetime20.);
谢谢,我用这种方式改了以后发现 var1所有观测都变成 12Mar16:00:00:00了;
新变量date都变成1774137600了。但是把var1=" "; 这一行删掉就可以了,不知道为什么。
最后试了一下,这两种方法都可以:
data a; set a;
newdate=input(var1,datetime20.);
format newdate datetime20.;
run;
这样改出来var1 和 var2都是 日月年时分秒的格式
---------------------
data a; set a;
newdate=input(var1,date8.);
run;
data b; set b;
newvar=datepart(var2);
newvar2=newdate-newvar;
run;
这样改出来都是以sas为准的天的格式,然后可以直接运算。
谢谢楼上,帮了我大忙。
自己真的看了很多帖子,他们的都是2012-10-13这样的格式,我这边根本运行不了。
还有的帖子说用put和input都行,实际上完全相反,input是将字符转化为数值,put反过来。
希望这个帖子能帮到跟我一样笨的人,哈哈~~