Desktop productivity for business analysts and programmers

remove timestamp from a macro in a let statement

Accepted Solution Solved
Reply
Contributor ak2
Contributor
Posts: 34
Accepted Solution

remove timestamp from a macro in a let statement

Hi.

I have a macro variable that is datetime. How can I remove the time stamp from the variable in a new let-statement?

 

I have this macro:

%let date0='22jan2018:0:0:0'dt;

 

I want to make a new macro like this:

%let date1=datepart(&date0.);

 

I have tried statements like this, but I can't get it to work:

%let date1=%sysfunc(datepart(&date0.))

 

Does anyone know how to convert &date0. into just a date-variable?


Accepted Solutions
Solution
‎01-22-2018 09:40 AM
Super User
Posts: 9,574

Re: remove timestamp from a macro in a let statement

It does work!

%let date0='22jan2018:0:0:0'dt;
%let date1=%sysfunc(datepart(&date0.));

%put &date1.;

See the log:

24         %let date0='22jan2018:0:0:0'dt;
25         %let date1=%sysfunc(datepart(&date0.));
26         
27         %put &date1.;
21206

21206 is the raw numeric value for today's date, and can be used as-is in calculations and comparisons.

You only need to use a format for displaying the value.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code

View solution in original post


All Replies
Solution
‎01-22-2018 09:40 AM
Super User
Posts: 9,574

Re: remove timestamp from a macro in a let statement

It does work!

%let date0='22jan2018:0:0:0'dt;
%let date1=%sysfunc(datepart(&date0.));

%put &date1.;

See the log:

24         %let date0='22jan2018:0:0:0'dt;
25         %let date1=%sysfunc(datepart(&date0.));
26         
27         %put &date1.;
21206

21206 is the raw numeric value for today's date, and can be used as-is in calculations and comparisons.

You only need to use a format for displaying the value.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Contributor ak2
Contributor
Posts: 34

Re: remove timestamp from a macro in a let statement

Posted in reply to KurtBremser
Thanks a lot!
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 159 views
  • 0 likes
  • 2 in conversation