我有datettime22.3格式的开始时间和结束时间......
%let datetime_start = %sysfunc(datetime(),datetime22.3) ;
%put &datetime_start.;
%let datetime_end = %sysfunc(datetime(),datetime22.3) ;
%put &datetime_end.;
如何区分& datetime_end。和& datetime_start。以毫秒为单位?
答案 0 :(得分:2)
如果你想要差异,你可以减去数字,这会给你几秒钟的差异。然后乘以1000得到毫秒。您还需要使用%sysevalf进行计算。在这个例子中,我将datetime()保持为一个数字,这就是SAS测量时间的方式,即从1960年1月1日开始的秒数。如果数据是如上所述的日期时间格式,那么你就可以了。必须将其转换为数字。
%let start = %sysfunc(datetime()) ;
%put &start.;
ods html;
proc means data=sashelp.class;
run;
ods html close;
%let end = %sysfunc(datetime()) ;
%put &end.;
%let duration = %sysevalf((&end - &start)*1000);
%put &duration;