BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jenim514
Pyrite | Level 9

HI!

 

I have numeric values in time variables using military time.  When I try the HHMM. the output is not correct

 

My data values look like this

Time
120
2130
10
1128
23
50

 

 

Want to look like this:

 

Time Want
120 01:20
2130 21:30
10 00:10
1128 11:28
23 00:23
50 00:50

 

 

Any suggestion appreciated!!

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

Before you can use a time format, you have to convert the numbers to date-time numbers.

 

Something like this:

 

time2=hms(floor(time/100),mod(time,100),0); /* Convert time to hours and minutes using the hms function */
format time2 hhmm5.;

 

--
Paige Miller

View solution in original post

3 REPLIES 3
collinelliot
Barite | Level 11

Probably a slicker way, but this should work:

 

data have;
input have;
timepad =  strip(put(have, z4.));
want = hms(substr(timepad, 1, 2), substr(timepad, 3, 2), 0);
format want time5.;
datalines;
120
2130
10
1128
23
50
;
PaigeMiller
Diamond | Level 26

Before you can use a time format, you have to convert the numbers to date-time numbers.

 

Something like this:

 

time2=hms(floor(time/100),mod(time,100),0); /* Convert time to hours and minutes using the hms function */
format time2 hhmm5.;

 

--
Paige Miller
novinosrin
Tourmaline | Level 20

Mine isn't smart, but fun though-

 

data have;
input time;
datalines;
120
2130
10
1128
23
50
;
data want;
set have;
new_time=cats(reverse(substr(reverse(time),3)),':',substr(time,length(time)-1));
if length(new_time)=3 then new_time=cats('00',new_time);
run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 2708 views
  • 4 likes
  • 4 in conversation