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

The attached dataset has time in 24 hour format, see below:

000257

000341

000419

000433

000437

000451

002538

002719

002903

003029

003135

003141

So 133846 indicates 1 pm 38 minutes 46 seconds.  But the value is in string.  How could I convert the TIME string into SAS time?  I used the following code:

data WANG;

     set HAVE;

     time_numeric = input(time, time5.);

run;

But it doesn't seem to work.  SAS reports:

NOTE: Invalid argument to function INPUT at line 24 column 8.

time=000257 timej=. _ERROR_=1 _N_=11

NOTE: Invalid argument to function INPUT at line 24 column 8.

time=000341 timej=. _ERROR_=1 _N_=12

Could you guys help me~~

1 ACCEPTED SOLUTION

Accepted Solutions
2 REPLIES 2
Kurt_Bremser
Super User

Do this:

data wang;

set have;

  format time_numeric time8.;

  time_numeric = input(substr(time,1,2) !! ':' !! substr(time,3,2) !! ':' !! substr(time,5,2),time8.);

run;

pradeepalankar
Obsidian | Level 7

Hi ,

Use  time_numeric=input(time,hhmmss6.);


this should read your time.

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
  • 2 replies
  • 14942 views
  • 1 like
  • 3 in conversation