因为我的时间数据中有一些杂乱的字符(*,#,char等),我输入best.32
格式的数据,然后使用compress删除不相关的字符 - time_1 = compress(Tim_original,'*#','l');
但是,我的数据采用mm:ss
和hh:mm:ss
的形式,出于某种原因,当我使用time_1=input(time_1,time8.)
将字符串转换为数字时,它会使我的mm成为小时。 ..!如何将我的字符串转换为时间/分钟,并且在最后添加“:00”时将时间分为几小时?
答案 0 :(得分:2)
如果您的文字只有一个:
,则信息TIME
会将其视为hh:mm
而不是mm:ss
。你可以测试你的字符串并将INPUT()函数调用的结果除以60来转换它。
data test;
input @1 timestr $8. ;
time1=input(timestr,time8.);
time2=input(timestr,time8.);
if countw(timestr,':') < 3 then time2=time2/60 ;
format time1 time2 time8.;
cards;
12:34
0:12:34
;