【发布时间】:2019-02-27 21:12:02
【问题描述】:
我遇到了这个看起来很简单的问题。
我有这样的宏:
%macro test;
/* I start from it */
%let time_ = %sysfunc(time());
%let date_ = %sysfunc(date());
%let time1 = %sysfunc(time());
data _null_;
timedelay = sleep(5, 1);
run;
%let time2 = %sysfunc(time());
%let diff = %sysevalf(&time2 - &time1);
%put Timenow: &time_;
%put DateNOw: &date_;
%put TimeDifference: &diff;
/*Above works as I want*/
/* What I want to have */
%put Timenow: %sysfunc(put(&time_, time13.)); /* Timenow: 22:06:00 */
%put DateNOw: %sysfunc(put(&time_, date9.)); /* DateNOw: 27FEB2019 */
%put TimeDifference: %sysfunc(put(&time_, time13.)); /* TimeDifference: 00:00:05 */
%mend;
%test;
所以基本上例如相反%sysfunc(put(&time_, time13.)); 类似的东西会给我结果:22:06:00
有没有简单直接的方法来做到这一点?
谢谢!
【问题讨论】:
-
您必须将 PUTC/PUTN 函数与 SYSFUNC 一起使用。