我有 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。以毫秒为单位?
最佳答案
如果你想要差异,你可以减去数字,这样你就可以得到以秒为单位的差异。然后乘以 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;
关于sas - 计算 2 个 SAS 日期时间值之间的毫秒差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927910/