如何将数字转换为SAS时间值?
我在sas中有一个变量,它读取的时间为515(数字格式),但我想将其转换为5:15或05:15如何将数字转换为SAS时间值?,sas,sas-macro,Sas,Sas Macro,我在sas中有一个变量,它读取的时间为515(数字格式),但我想将其转换为5:15或05:15 data output; set old; /* if variable name is var, what should I write here to convert 515 to 5:15 or to 05:15*/ run; 在R中,您可以使用以下正则表达式将数字转换为时间格式: var = 515; var_time = sub("(\\d+)(\\d{2})", "\\1:\\
data output;
set old;
/* if variable name is var, what should I write here to convert 515
to 5:15 or to 05:15*/
run;
在R中,您可以使用以下正则表达式将数字转换为时间格式:
var = 515;
var_time = sub("(\\d+)(\\d{2})", "\\1:\\2", var);
可能会有更简单、更干净的方法,但这也是可行的
data output;
var1=515;
var2= input(cats(substr(put(var1,3.),1,1),":",substr(put(var1,3.),2,3)),time5.);
format var2 time5.;
run;
您可以使用算术将现有值中的数字转换为午夜后的秒数。然后附上时间。将其格式化,以便以人类可读的格式打印
time=hms(int(time/100),mod(time,100),0);
format time time5.;
感谢在R的解决方案,但我也期待在SAS转换。谢谢,伙计,它在R里工作。在我的领域之外,伙计。你想要R还是SAS。必须移除一个标签!我已经在R中得到了答案,请帮助我在SAS中得到答案。谢谢。如果数字在十位数和一位数中的值大于59,你想怎么办?如果可能,请接受其中一个答案,如果你觉得它对你有用的话
time=hms(int(time/100),mod(time,100),0);
format time time5.;