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;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: