SAS日期格式化小时/分钟/秒

时间:2018-04-26 00:08:15

标签: datetime sas string-formatting

因为我的时间数据中有一些杂乱的字符(*,#,char等),我输入best.32格式的数据,然后使用compress删除不相关的字符 - time_1 = compress(Tim_original,'*#','l');

但是,我的数据采用mm:sshh:mm:ss的形式,出于某种原因,当我使用time_1=input(time_1,time8.)将字符串转换为数字时,它会使我的mm成为小时。 ..!如何将我的字符串转换为时间/分钟,并且在最后添加“:00”时将时间分为几小时?

1 个答案:

答案 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
;