I have looked all over the place for this and haven't been able to find anything to lead me in the right direction.
I have a dataset that is in SAS Time format HH:MM:SS (24 hours time format)... what i need to do is convert the time to seconds.
So for example, 0:12:28 would be converted to 748. I know its possible.. i just can't find a way to do it.
Can anyone help with a datastep or a calculated field in a select statement that can do this. The name of the field is TTL_AHT
Any help would be awesome!
DZ
If you have a TIME variable it is already in seconds. Just remove the format if you want it to print as a raw number of seconds instead of being formatted to look like a time value.
Run and have fun-->
data w;
k='0:12:28't;
k1='0:12:28';
k2=input(k1,time.);/* i think you want this*/
run;
If you have a TIME variable it is already in seconds. Just remove the format if you want it to print as a raw number of seconds instead of being formatted to look like a time value.
Thanks Tom! After I read... i realized that i was trying to complicate it way too much... i knew that deep down inside. Thank you so much!
DZ
SAS stores times as seconds natively. A format is used to control the display, so removing the format will create the raw seconds value.
data demo;
x='11:45't;
y=x;
format x time6.;
format y; *no format, not needed but how you would remove a format;
run;
proc print data=demo;run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.