SAS Data Integration Studio, DataFlux Data Management Studio, SAS/ACCESS, SAS Data Loader for Hadoop and others

converting character variable to a time variable

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 6
Accepted Solution

converting character variable to a time variable

Hello.  I'm stuck and would appreciate your help.

 

I have a character variable that has times that look like this:

12:00:00 AM

12:01:00 AM

12:02:00 AM etc.

 

I want to convert them to a time value that assigns 0:00:00 for 12:00:00 AM through 23:59:00 for 11:59 PM.  What do I need to do?

 

I use SAS Enterprise Guide 7.1 or SAS 9.4.

 

Thanks!

 


Accepted Solutions
Solution
a week ago
Super User
Posts: 13,950

Re: converting character variable to a time variable


@hein68 wrote:

Hello.  I'm stuck and would appreciate your help.

 

I have a character variable that has times that look like this:

12:00:00 AM

12:01:00 AM

12:02:00 AM etc.

 

I want to convert them to a time value that assigns 0:00:00 for 12:00:00 AM through 23:59:00 for 11:59 PM.  What do I need to do?

 

I use SAS Enterprise Guide 7.1 or SAS 9.4.

 

Thanks!

 


The example below should help. You would use a data step with a set statement to reference your existing data and the input function should reference your character time variable. The datalines is to create values to display the code working. The format is so the value displays as time and not just the number of seconds represented.

 

data example;
   input char_text $ 1-11 ;
   timevar= input (char_text,time11.);
   format timevar timeampm11.;
datalines;
12:00:00 AM
12:01:00 AM
12:00:00 PM
12:01:00 PM
;
run;

View solution in original post


All Replies
Solution
a week ago
Super User
Posts: 13,950

Re: converting character variable to a time variable


@hein68 wrote:

Hello.  I'm stuck and would appreciate your help.

 

I have a character variable that has times that look like this:

12:00:00 AM

12:01:00 AM

12:02:00 AM etc.

 

I want to convert them to a time value that assigns 0:00:00 for 12:00:00 AM through 23:59:00 for 11:59 PM.  What do I need to do?

 

I use SAS Enterprise Guide 7.1 or SAS 9.4.

 

Thanks!

 


The example below should help. You would use a data step with a set statement to reference your existing data and the input function should reference your character time variable. The datalines is to create values to display the code working. The format is so the value displays as time and not just the number of seconds represented.

 

data example;
   input char_text $ 1-11 ;
   timevar= input (char_text,time11.);
   format timevar timeampm11.;
datalines;
12:00:00 AM
12:01:00 AM
12:00:00 PM
12:01:00 PM
;
run;
Occasional Contributor
Posts: 6

Re: converting character variable to a time variable

Yes, this worked. Thanks so much!


PROC Star
Posts: 1,334

Re: converting character variable to a time variable

To do it with the tasks in EG, create a query, create a new advanced expression, and use the functions combination that @ballardw shows you.

 

Tom

Occasional Contributor
Posts: 6

Re: converting character variable to a time variable

Thanks so much!


☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 104 views
  • 0 likes
  • 3 in conversation