Help using Base SAS procedures

Hi

Reply
New Contributor
Posts: 2

Hi

I have a variable called post_time which is in the numeric format with values like 129, 203,252 etc I want to convert this variable into a time variable with values in format like follows:

129 to 13:29

203 to 14:03 etc.

need help for the code on this.

SAS Super FREQ
Posts: 685

Re: Hi

Hi

You can use the HMS function with the appropriate arguments. See sample below.

How can you know that the 1 in 129 is hour 13?

data have;
  infile cards;
 
input
    post_time :
8.
  ;
  date_s = hms(int(post_time / 100), mod(post_time, 100), 0);
  format date_s time8.;
cards;
129
203
252
;
New Contributor
Posts: 2

Re: Hi

Thanks Bruno

I have a reference dataset (a csv file) and in that reference dataset they have used the post_time variable to calculate the time_variable that i am trying to calculate.

Regards

Amol Gothe

Super User
Posts: 6,971

Re: Hi

Still the question is, how are AM times represented? Seems like the one who created the file did not really engage her/his brain before starting to type. Or you missed some necessary information (maybe AM/PM is stored in another column of the csv?)

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Super User
Posts: 7,429

Re: Hi

I am afraid it is too vague.  Why does 129 = 13:29 and not 01:29 which would seem more logical, how would 01:29 be represented?  Could it not also be 129 minutes past a certain time value?  Then its just time_point + 129. 

Ask a Question
Discussion stats
  • 4 replies
  • 269 views
  • 0 likes
  • 4 in conversation