- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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;