<?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 different time points in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32961#M6370</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;data have;
input id $4. (time1-time5) (: time.);
format time1-time5 time5.;
cards;
1001 9:30 12:05 15:00 17:45 19:00
1002 11:30 13:00 16:40 0:15 2:45
;
run;
data have(drop=i need);
 set have;
 array _t{*} time1-time5;
 do i=2 to dim(_t);
&amp;nbsp; if _t{i-1} gt _t{i} then need=1;
&amp;nbsp; if need then _t{i}=_t{i}+'24:00:00't;
 end;
run;



&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Jan 2012 05:58:10 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2012-01-19T05:58:10Z</dc:date>
    <item>
      <title>different time points</title>
      <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32958#M6367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We collected data at 5 time points. Sometime, the time points are beyond midnight. In that case, I need to add 24 hours on the time. My data step is like,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input id $4. (time1-time5) (:$5.);&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1001 9:30 12:05 15:00 17:45 19:00&lt;/P&gt;&lt;P&gt;1002 11:30 13:00 16:40 0:15 2:45&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my final data set is like,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time1&amp;nbsp; time2 time3 time4 time5&lt;/P&gt;&lt;P&gt;1001 9:30 12:05 15:00 17:45 19:00&lt;/P&gt;&lt;P&gt;1002 11:30 13:00 16:40 24:15 26:45&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HG &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2012 03:53:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32958#M6367</guid>
      <dc:creator>HG</dc:creator>
      <dc:date>2012-01-19T03:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: different time points</title>
      <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32959#M6368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I think time should not be greater than 24. If you want to convert the time into hours, you can use the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input id $4. (time1-time5) (:$5.);&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1001 9:30 12:05 15:00 17:45 19:00&lt;/P&gt;&lt;P&gt;1002 11:30 13:00 16:40 0:15 2:45&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=i k );&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; format hour1-hour5 5.2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array t(*)$ time:;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array hour(*) hour1-hour5;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; hour(i)=input(scan(t(i),1,':'),2.)+(input(scan(t(i),2,':'),2.)/60);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=1 to 4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if hour(i+1) &amp;lt;hour(i) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do k=i+1 to 5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hour(k)=hour(k)+24;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;options nocenter;&lt;/P&gt;&lt;P&gt;proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obs&amp;nbsp;&amp;nbsp; id&amp;nbsp;&amp;nbsp;&amp;nbsp; time1&amp;nbsp;&amp;nbsp; time2&amp;nbsp;&amp;nbsp; time3&amp;nbsp; time4&amp;nbsp;&amp;nbsp; time5&amp;nbsp; hour1&amp;nbsp; hour2&amp;nbsp; hour3&amp;nbsp; hour4&amp;nbsp; hour5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; 1001&amp;nbsp; 9:30&amp;nbsp;&amp;nbsp; 12:05&amp;nbsp; 15:00&amp;nbsp; 17:45&amp;nbsp; 19:00&amp;nbsp;&amp;nbsp; 9.50&amp;nbsp; 12.08&amp;nbsp; 15.00&amp;nbsp; 17.75&amp;nbsp; 19.00&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; 1002&amp;nbsp; 11:30&amp;nbsp; 13:00&amp;nbsp; 16:40&amp;nbsp; 0:15&amp;nbsp;&amp;nbsp; 2:45&amp;nbsp;&amp;nbsp; 11.50&amp;nbsp; 13.00&amp;nbsp; 16.67&amp;nbsp; 24.25&amp;nbsp; 26.75&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2012 04:10:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32959#M6368</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-01-19T04:10:39Z</dc:date>
    </item>
    <item>
      <title>different time points</title>
      <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32960#M6369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Similar to Linlin's suggestion, but I would read the times in with a time informat and then convert them to a datetime.&amp;nbsp; This way, you can handle times that extend over two days:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input id $4. (time1-time5) (:time5.);&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1001 9:30 12:05 15:00 17:45 19:00&lt;/P&gt;&lt;P&gt;1002 11:30 13:00 16:40 0:15 2:45&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array times(5) time1-time5;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array dtimes(5);&lt;/P&gt;&lt;P&gt;&amp;nbsp; start=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dtimes(1)=dhms(mdy(1,start,2012),hour(times(1)),minute(times(1)),0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; start=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i=2 to dim(times);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if times(i) lt times(i-1) then start+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dtimes(i)=dhms(mdy(1,start,2012),hour(times(i)),minute(times(i)),0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2012 04:18:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32960#M6369</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-01-19T04:18:36Z</dc:date>
    </item>
    <item>
      <title>different time points</title>
      <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32961#M6370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;data have;
input id $4. (time1-time5) (: time.);
format time1-time5 time5.;
cards;
1001 9:30 12:05 15:00 17:45 19:00
1002 11:30 13:00 16:40 0:15 2:45
;
run;
data have(drop=i need);
 set have;
 array _t{*} time1-time5;
 do i=2 to dim(_t);
&amp;nbsp; if _t{i-1} gt _t{i} then need=1;
&amp;nbsp; if need then _t{i}=_t{i}+'24:00:00't;
 end;
run;



&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2012 05:58:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32961#M6370</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-01-19T05:58:10Z</dc:date>
    </item>
    <item>
      <title>different time points</title>
      <link>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32962#M6371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot for your help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jan 2012 14:14:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/different-time-points/m-p/32962#M6371</guid>
      <dc:creator>HG</dc:creator>
      <dc:date>2012-01-19T14:14:51Z</dc:date>
    </item>
  </channel>
</rss>

