Sas 如何从存储为630&;的数字中获取小时数;2030年,即06:30&;分别是20:30

Sas 如何从存储为630&;的数字中获取小时数;2030年,即06:30&;分别是20:30,sas,Sas,我有一个数据,其中时间变量的值存储为630和2030等,我需要使用SAS代码从时间变量获取小时数。(根据给定目录-630和2030表示06:30和20:30)正如约翰·德沃夏克所建议的,一种方法是除以100,然后使用整数/余数得出小时/分钟值。将其转换为秒以获得实际的时间值,该值可以在SAS中进行格式化 data want; infile cards; input rawdata; /* get raw values */ mins=mod(rawdata/100,2)*100; /* extr

我有一个数据,其中时间变量的值存储为630和2030等,我需要使用SAS代码从时间变量获取小时数。(根据给定目录-630和2030表示06:30和20:30)

正如约翰·德沃夏克所建议的,一种方法是除以100,然后使用整数/余数得出小时/分钟值。将其转换为秒以获得实际的时间值,该值可以在SAS中进行格式化

data want;
infile cards;
input rawdata; /* get raw values */
mins=mod(rawdata/100,2)*100; /* extract mins */
hours=round(rawdata/100,1); /* extract hours */
hhmm=(hours*60*60)+(mins*60); /* convert to seconds */
format hhmm hhmm5.; /* format as time */
put hours= mins= hhmm=; /* print to log */
cards;
630
2030
;run;
返回:

小时=6分钟=30小时毫米=6:30
小时=20分钟=30小时毫米=20:30


SAS能除以100并保留余数吗?如果是,问题在哪里?