BookmarkSubscribeRSS Feed
Vaibhav_Kalra
Calcite | Level 5

Hi

I am facing a problem to convert the numeric function to the date part

 

my data  is

 

515
529
540
545
600

In the above 515 means 5:15

529 means 5:29

 

Please advise

 

Thanks

 

 

 

4 REPLIES 4
RW9
Diamond | Level 26 RW9
Diamond | Level 26

This "I am facing a problem to convert the numeric function to the date part" doesn't really make sense as the data you give and logic is for time?  I would be cautious about converting just a number like that to a time.  You could simply:

data want;
  input num;
  tmp=strip(put(num,best.));
  tmp=cats(char(tmp,1),":",substr(tmp,2,2));
datalines;
515
529
;
run;

But I suspect thats not really your problem, and your issue includes dates as well.  Perhaps provide fuller information, provide what you have as test data in the form of a datastep and what you want out at the end.

 

Kurt_Bremser
Super User

You need to fix such issues at the point where data enters your SAS environment.

Show how you imported the data into SAS. Just using the correct format there will remove the problem.

Ksharp
Super User
data want;
  input num;
  want=hms(int(num/100),mod(num,100),0);
  format want hhmm5.;
datalines;
515
529
;
run;
Haikuo
Onyx | Level 15

Or:

data want;
  input num;
  want=input(put(num,z4.),hhmmss4.);
  format want hhmm5.;
datalines;
515
529
;
run;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 4 replies
  • 1020 views
  • 0 likes
  • 5 in conversation