<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Saving Start and End Time to Dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525800#M143084</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/142314"&gt;@BCNAV&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;This is probably easy.....but I can't figure it out.&amp;nbsp; At the start I have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; StartTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.); &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;do a lot of programming&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;at the end:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; EndTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;I need to be able to save to one dataset (so I can send to excel later if need) the StartTime, EndTime and difference (time taken). So the final dataset would be:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Start_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;End_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Take_Taken&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Again, probably easy....but sometimes the easy is troublesome.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;One way if you want CHARACTER values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data times;
   start_time = "&amp;amp;startime.";
   end_time = "&amp;amp;endtime.";
run;&lt;/PRE&gt;
&lt;P&gt;If you want actual date time values then either do not apply the format when creating the variable and use&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;start_time=&amp;amp;startime.;&lt;/P&gt;
&lt;P&gt;or if you need the formatted values elsewhere in your code but want the actual datetime value:&lt;/P&gt;
&lt;PRE&gt;data times;
   start_time = "&amp;amp;startime."dt;
   end_time = "&amp;amp;endtime."dt;
   format start_time end_time datetime20.;
run;&lt;/PRE&gt;</description>
    <pubDate>Wed, 09 Jan 2019 17:59:22 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-01-09T17:59:22Z</dc:date>
    <item>
      <title>Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525790#M143080</link>
      <description>&lt;P&gt;This is probably easy.....but I can't figure it out.&amp;nbsp; At the start I have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; StartTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.); &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;do a lot of programming&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;at the end:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; EndTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;I need to be able to save to one dataset (so I can send to excel later if need) the StartTime, EndTime and difference (time taken). So the final dataset would be:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Start_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;End_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Take_Taken&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Again, probably easy....but sometimes the easy is troublesome.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 17:34:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525790#M143080</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2019-01-09T17:34:45Z</dc:date>
    </item>
    <item>
      <title>Re: Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525799#M143083</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let start=%sysfunc(datetime());

%let end=%sysfunc(datetime());
%let time_taken=%sysfunc(intck(dthour,&amp;amp;start,&amp;amp;end));
%put &amp;amp;time_taken;

data time_taken;
start=&amp;amp;start;
end=&amp;amp;end;
time_taken=&amp;amp;time_taken;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can switch to minutes, hours, days, weeks or whatever you want in the first argument where i used dthour&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%sysfunc(intck(dthour,&amp;amp;start,&amp;amp;end));&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;So bascially Intck calculates the time interval&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 17:58:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525799#M143083</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-01-09T17:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525800#M143084</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/142314"&gt;@BCNAV&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;This is probably easy.....but I can't figure it out.&amp;nbsp; At the start I have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; StartTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.); &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;do a lot of programming&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;at the end:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; EndTime = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;I need to be able to save to one dataset (so I can send to excel later if need) the StartTime, EndTime and difference (time taken). So the final dataset would be:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Start_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;End_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Take_Taken&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Again, probably easy....but sometimes the easy is troublesome.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;One way if you want CHARACTER values:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data times;
   start_time = "&amp;amp;startime.";
   end_time = "&amp;amp;endtime.";
run;&lt;/PRE&gt;
&lt;P&gt;If you want actual date time values then either do not apply the format when creating the variable and use&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;start_time=&amp;amp;startime.;&lt;/P&gt;
&lt;P&gt;or if you need the formatted values elsewhere in your code but want the actual datetime value:&lt;/P&gt;
&lt;PRE&gt;data times;
   start_time = "&amp;amp;startime."dt;
   end_time = "&amp;amp;endtime."dt;
   format start_time end_time datetime20.;
run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jan 2019 17:59:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525800#M143084</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-01-09T17:59:22Z</dc:date>
    </item>
    <item>
      <title>Re: Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525801#M143085</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let StartTime = %sysfunc(datetime(), datetime20.);

 
data _null_;
	tmp_=sleep(1000);
run;
 

%let EndTime = %sysfunc(datetime(), datetime20.);

%put &amp;amp;StartTime &amp;amp;EndTime;

data gettime;
format StartTime EndTime datetime20. Elapsed_time best12.;
	StartTime=input("&amp;amp;StartTime",datetime20.);
	EndTime=input("&amp;amp;EndTime",datetime20.);
	Elapsed_time=(StartTime - EndTime)/60;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Jan 2019 17:59:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525801#M143085</guid>
      <dc:creator>r_behata</dc:creator>
      <dc:date>2019-01-09T17:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525804#M143086</link>
      <description>&lt;P&gt;Something like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table master_process_time
(Entry char(32),
StartTime num format=datetime22.4,
EndTime num format=datetime22.4,
duration num format=32.4,
recordTime num format=datetime22.4);
quit;

%global startTime endTime;

%macro startTiming();

%let startTime = %sysfunc(datetime());

%mend startTiming;

%macro endTiming(entry=);

%let endTime = %sysfunc(datetime());

proc sql;
insert into master_process_time
values("&amp;amp;Entry", &amp;amp;startTime, &amp;amp;endTime,   %sysevalf(&amp;amp;endTime - &amp;amp;startTime), %sysfunc(datetime()) );
quit;

%mend;


%startTiming();

proc means data=sashelp.class;
run;

%endTiming(entry=ClassMeans);


%startTiming();

proc tabulate data=sashelp.cars;
class origin make;
var mpg_city mpg_highway;
table origin * make, mpg_city*(mean median N) mpg_highway*(mean median n);
run;

%endTiming(entry=TabulateCars);


&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/142314"&gt;@BCNAV&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;This is probably easy.....but I can't figure it out.&amp;nbsp; At the start I have:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; StartTime = &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.); &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;do a lot of programming&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;&lt;FONT face="Courier New" size="3"&gt;at the end:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;%let&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; EndTime = &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;%sysfunc&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;(datetime(), datetime20.);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;I need to be able to save to one dataset (so I can send to excel later if need) the StartTime, EndTime and difference (time taken). So the final dataset would be:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Start_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;End_Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Take_Taken&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; whatever value&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif" size="3"&gt;Again, probably easy....but sometimes the easy is troublesome.&lt;/FONT&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 18:14:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525804#M143086</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-01-09T18:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: Saving Start and End Time to Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525890#M143113</link>
      <description>&lt;P&gt;Note that in&lt;/P&gt;
&lt;PRE&gt;%let StartTime = %sysfunc(datetime(), datetime20.);

data example;
    st = input("&amp;amp;StartTime.",datetime20.);
    st2 = "&amp;amp;StartTime."dt;
run;&lt;/PRE&gt;
&lt;P&gt;ST and ST2 are identical.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jan 2019 21:12:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Saving-Start-and-End-Time-to-Dataset/m-p/525890#M143113</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-01-09T21:12:48Z</dc:date>
    </item>
  </channel>
</rss>

