Hi ,
Is there an easy way to convert time values in time5. format into nominal time values.?
Example: 8:30 as 8.5
16:30 as 16.5
17:45 as 17.75
One way:
data want; time="08:30"t; number=hour(time)+ ((10 / (60/minute(time)))/10); output; time="17:45"t; number=hour(time)+ ((10 / (60/minute(time)))/10); output; format time time5.; run;
Since time values are just counts of seconds, a simple division and rounding will do it:
data test;
input time time5.;
time_nom = round(time/3600,.01);
format
time time5.
time_nom 5.2
;
cards;
08:30
16:30
17:45
;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.