data want;
starttime='29Apr18 22:30:00'dt;
if timepart(starttime)='22:30't then starttime=dhms(datepart(intnx('dtDay', starttime, 1)),8,0,0);
format starttime datetime20.;run;
data want;
starttime='29Apr18 22:30:00'dt;
if timepart(starttime)='22:30't then starttime=dhms(datepart(intnx('dtDay', starttime, 1)),8,0,0);
format starttime datetime20.;run;
@Gil_ wrote:
The start time could vary anyyhing = greater than 22:30
But your example
29Apr18 01:00:00. 30Apr18 08:00:00
I much less than 22:30. Was that a typo of some flavor.
Possibly intending
30Apr18 01:00:00. 30Apr18 08:00:00
Which would likely mean that your rule is "any time after 22:30 on one day gets advanced to 08:00 the next day
and any time prior to 08:00 gets set to 08:00 for the same day".
Example of the above rule:
data want; input starttime datetime.; format starttime datetime.; if timepart(starttime) ge '22:30't then wanttime=dhms(datepart(starttime)+1,8,0,0); else if timepart(starttime) < '08:00't then wanttime=dhms(datepart(starttime),8,0,0); else wanttime=starttime; format wanttime datetime.; datalines; 29Apr18:22:30:00 30Apr18:01:00:00 30Apr18:12:00:00 ; run;
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Select SAS Training centers are offering in-person courses. View upcoming courses for: