Solved
Contributor
Posts: 55

# How to identify previous month full name

I want to identify previous month full name .i.e. If current month is September then I want to retrieve August. Currently I am going with the below approach but this will fail for the month January. Please assist

```month = month(input("&sysdate9",date9.));
lastmonth = int(month) - 1;
put(lastmonth,nlstrmon.);```

Accepted Solutions
Solution
‎09-02-2016 01:25 PM
Super User
Posts: 6,785

## Re: How to identify previous month full name

Posted in reply to jayakumarmm

Since you have nearly working code, you could tweak it simply:

if month = 1 then lastmonth = 12;

else lastmonth = month - 1;

If you wanted to get into the depths of how SAS works with dates, you could modify your first statement:

lastmonth = month( intnx('month', "&sysdate9"d, -1));

As before, that gives you the month number which still has be to converted to the name.

All Replies
Occasional Contributor
Posts: 10

## Re: How to identify previous month full name

Posted in reply to jayakumarmm

You can use monname format:

month_name=PUT(date,monname.);

But be aware that this takes a date value as input.

`format prev_month \$20.;Prev_month = put((INTNX('month', today(), -1, 'B')),monname.);`

Solution
‎09-02-2016 01:25 PM
Super User
Posts: 6,785

## Re: How to identify previous month full name

Posted in reply to jayakumarmm

Since you have nearly working code, you could tweak it simply:

if month = 1 then lastmonth = 12;

else lastmonth = month - 1;

If you wanted to get into the depths of how SAS works with dates, you could modify your first statement:

lastmonth = month( intnx('month', "&sysdate9"d, -1));

As before, that gives you the month number which still has be to converted to the name.

☑ This topic is solved.

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

Discussion stats
• 2 replies
• 354 views
• 2 likes
• 3 in conversation