我的数据中有一个日期变量。变量中的值格式不正确。我想将它们转换为SAS日期格式,如datetime9。。
日期
2013年11月2日10:00 AM
2012年10月6日11:00 AM
2002年8月26日18:00 PM
2012年3月22日07:00 AM
有一些功能需要了解。
scan(str,n)-从字符串中提取第n个单词。
catt(str1,str2,str3)-连接字符串。
input(str,informat)-使用informat将字符串转换为数字
dhms(d,h,m,s)-日时分秒。日期加上时间部分等于日期时间。
也是DDMONYYYY
informat =date9.
HH:MM <AM|PM>
是信息= time.
所以...
data test;
format date $20.;
date = "Nov 2 2013 10:00AM"; output;
date = "Oct 6 2012 11:00AM"; output;
date = "Aug 26 2002 18:00PM"; output;
date = "Mar 22 2012 07:00AM"; output;
run;
data test;
set test;
format day date9. time time. date2 datetime.;
day = input(catt(scan(date,2),scan(date,1),scan(date,3)),date9.);
time = input(scan(date,4),time.);
date2 = dhms(day,hour(time),minute(time),second(time));
run;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句