BookmarkSubscribeRSS Feed
ebonyw
Calcite | Level 5


Hi! I am EXTREMELY wet behind the ears in SAS.  I have data of medical providers and how long they recorded temperatures in their vaccine storage units. The amount of time that these providers were recording temperatures in their refrigerators and freezers is presented in a DATE/HH:MM format. I need to create a new variable (duration), that subtracts the End time from the Start time to determine the total time they were recording. The data in my new duration variable should be presented in HH:MM:SS format. I will need to manipulate the HH:MM:SS data in the duration column in different ways by provider, so I need SAS to continue to recognize it in this format and add them correctly.

Date/Time StartDate/Time End(New Variable) Duration
10/31/13 10:2710/31/13 15:275:00:00
9/27/13 9:159/28/13 12:0026:45:00
9/28/13 12:159/28/13 13:151:00:00
10/1/13 8:0110/1/13 8:3600:30:00
Need to be able to add Duration correctly - 33:15:00

      I found the following INTCK statements that seem as though they may be on the right track of giving me what I need, however, the statements split out the hours/minutes/seconds. It doesn't give me the duration in the hh:mm:ss format.

Datetime arguments:

hours=intck ('hour' , '01jan2009:00:00:00'dt, '01jan2010:00:00:00'dt);

minutes=intck ('minute' , '01jan2009:00:00:00'dt, '01jan2010:00:00:00'dt);

seconds=intck ('second', '01jan2009:00:00:00'dt, '01jan2010:00:00:00'dt);

The result values will be:

*hours = 8760

*minutes = 525600

*seconds = 31536000

3 REPLIES 3
PaigeMiller
Diamond | Level 26

If the values are true SAS datetime values, then the duration is simply the subtraction of the End minus Start times. This is the duration in seconds. INTCK is not needed.

If you want to present this number of seconds as HH:MM:SS, you could use the proper format, which is the TIMEw.d format

--
Paige Miller
ebonyw
Calcite | Level 5

Thanks so much, Paige! I'm not sure if my values were true SAS datetime values. I will go look.

PaigeMiller
Diamond | Level 26

If they are not datetime values (for example they are characters), then you should convert them to datetime, that would be the easiest path forward.

--
Paige Miller

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 3 replies
  • 9226 views
  • 6 likes
  • 2 in conversation