BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Gil_
Quartz | Level 8
I have a table that has a start time which is a datetime field ... I need to convert the start time to a morning time if the original eq 22:30. I need it to change time to 08:00 and day would be the following day
For example

Start time new time
29Apr18 22:30:00. 30Apr18 08:00:00

29Apr18 01:00:00. 30Apr18 08:00:00
1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20
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;

View solution in original post

4 REPLIES 4
Gil_
Quartz | Level 8
The start time could vary anyyhing = greater than 22:30
novinosrin
Tourmaline | Level 20
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;
ballardw
Super User

@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;
Gil_
Quartz | Level 8
Thank you

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1021 views
  • 0 likes
  • 3 in conversation