其他分享
首页 > 其他分享> > SAS - 字符串转换为 ISO8601 format

SAS - 字符串转换为 ISO8601 format

作者:互联网

如果原始数据是字符串格式的日期($16.),类似:

STDTC                       ENDTC

2022-01-03                2022-01-03

2022-03-22                2022-05-02

2022-06-02T10:30     2022-06-04 

虽然字符串是ISO8601的样子,但此时如果对二者进行计算,必须先转换为数值格式:

data have;
input STDTC $16. ENDTC :$16.;
cards;
2022-01-03                2022-01-03
2022-03-22                2022-05-02
2022-06-02T10:30          2022-06-04 
;
data want;
     set have;
     stdtn=input(stdtc,B8601DT.); format stddn E8601DT.;
     endtn=input(endtc,B8601DT.); format endtn E8601DT.;
     delta=endtn-stdtn;   
     format delta time16.;
run;
注意这里不可以用 input(stdtc, E8601DT.), 会提示 invalid argument for INPUT. 原因是

 所以当字符串中同时有 date 和 datetime 日期时,就只能用 B8601DT.  


标签:03,01,06,format,ISO8601,2022,SAS,input
来源: https://www.cnblogs.com/zooz-logging/p/16698079.html