Sas 在时间变量中转换数字变量
我在SAS中导入了一个CSV文件,它有一个时间变量。但时间变量是数字格式,如515,表示05:15,1110表示11:10,2030表示20:30 我需要将其转换为正确的时间格式,然后从中取出小时。我已尝试: 新时间=投入(时间,hhmm.) 我得到的输出是0:09,0:10 请帮帮我。试试这个:Sas 在时间变量中转换数字变量,sas,Sas,我在SAS中导入了一个CSV文件,它有一个时间变量。但时间变量是数字格式,如515,表示05:15,1110表示11:10,2030表示20:30 我需要将其转换为正确的时间格式,然后从中取出小时。我已尝试: 新时间=投入(时间,hhmm.) 我得到的输出是0:09,0:10 请帮帮我。试试这个: data have; input mytimevar; cards; 515 1110 2030 ; run; data want; set have; time = input(put(mytim
data have;
input mytimevar;
cards;
515
1110
2030
;
run;
data want;
set have;
time = input(put(mytimevar, 4.) || '00', hhmmss.);
format time tod5.;
run;
工作原理:
put
00
秒hhmmss作为时间变量输入。
informattod5.
格式以前导零显示数小时SAS中的时间值是数值,其值为秒数。此类值的显示通常涉及关联时间格式,例如
TIMEw.d
,HHMMw.d
,MMSSw.d
。还有很多
来自(我的斜体)
SAS时间值是一个值,表示自 当天午夜。SAS时间值介于0和86400之间 注意:时间格式将处理0到24小时范围之外的时间值(秒数) 对于编码为
100*hours+minutes
的时间值(称为csvtime
),可以使用dhms
函数为d
和s
参数指定零来计算SAS时间值,以及使用整数除法和模运算从csv时间解析的h
和m
参数
sastime = dhms (0, floor(cvstime/100), mod(cvstime,100), 0);
format sastime time7.; * values displayed will be rendered using hh:mm:ss construct;