2016-01-21 76 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;