BookmarkSubscribeRSS Feed
PrinceAde
Obsidian | Level 7

Hi everyone, I have challenge formating time.
I'm trying to create time format from time().
For example, I want it in 5:25(I don't want pm or am attached to time). What I'm getting is either 5:25pm and 17:25.
data _null_;

call symputx('time', put(time, tod5.));

run;

%put &=time;

I have tried using time5. timeampm. as  well. 
None is working.
What can I do please?

2 REPLIES 2
Tom
Super User Tom
Super User

Since you seem to be putting the value into a macro variable just add more logic.

Either after you have converted the time into a string.

1    data _null_;
2      time='17:25't ;
3      call symputx('time', substr(put(time, timeampm.),1,5));
4    run;

NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds


5    %put &=time;
TIME=5:25
6

Or before

7    data _null_;
8      time='17:25't ;
9      call symputx('time', put(mod(time,'12:00:00't), time5.));
10   run;

NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds


11   %put &=time;
TIME=5:25

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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
  • 627 views
  • 2 likes
  • 3 in conversation