2016-01-21 82 views
2

我在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。以毫秒为单位?

回答

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;