Solved
Contributor
Posts: 54

# first date of the current month & last month's first date +1

Hi

I have a requirement to check : first date of the current month  & last month's first date +1

So today's date is : 2/12/2018

I want the first range as : 02/01/2018 ( 2nd jan 2018)

second range : 01/02/2018 (1st of feb 2018)

I have tried :

%LET PRE_MO = %SYSFUNC(INTNX(MONTH, %SYSFUNC(&CURR), -1),DATE9.) ;

I am getting PRE_MO  AS  : 01JAN2018  , but I want it be increased by 1

I am trying : R = INTNX(('MONTH',AEENDTC1,0,"BEGINNING")),DATE9. ;    ( to get the first day of this month)

But error shows :

R = INTNX(('MONTH',AEENDTC1,0,"BEGINNING")),DATE9. ;
_ _
_ _
_ _
79 22
79 22
79 22
_
_
_
200
200
200
: Expecting a ).

Accepted Solutions
Solution
‎02-13-2018 09:33 AM
PROC Star
Posts: 1,215

## Re: first date of the current month & last month's first date +1

LIke this?

``````data test;
today="12feb2018"d;
first=intnx("month", today, -1, "b")+1;
second=intnx("month", today, 0, "b");

format today first second date9.;
run;``````

All Replies
Posts: 2,827

## Re: first date of the current month & last month's first date +1

[ Edited ]
``````%LET PRE_MO = %eval(%SYSFUNC(INTNX(MONTH, &CURR, -1,b))+1) ;

%put %sysfunc(putn(&pre_mo,date9.));``````

Work with dates (and date-time values) as numbers rather than formatted values whenever possible.

Use the formatted values only when absolutely necessary, for example when displaying results for human eyes.

--
Paige Miller
Solution
‎02-13-2018 09:33 AM
PROC Star
Posts: 1,215

## Re: first date of the current month & last month's first date +1

LIke this?

``````data test;
today="12feb2018"d;
first=intnx("month", today, -1, "b")+1;
second=intnx("month", today, 0, "b");

format today first second date9.;
run;``````
☑ This topic is solved.