 # How can I get the name of the last month?

#1

So I couldn’t think of a way to get last month’s name, is that possible? I know that by doing the formula: MonthName(Today()) I can get the current date and current month, but can I get the name of last month? So if today we are in May, how can I get April out of a formula using “Today()”?

#2

Here it is. It works even if current month is January:

``MonthName(Now().RelativeDate(-1))``
2 Likes
#3

That’s a much better way to do it, I had come up with the following `if(Day(Today())=1 OR Day(Today())=2 OR Day(Today())=3,MonthName(Today()-15),MonthName(Today()-30))`

#4

If I use “Today()” instead of “Now()”, it works too, right? Also, do you know if I can get the number of the week based on the month? Like, if it’s day 15 the formula returns “3” because it’s the 3rd week in the month

#5

Yes, you can use `Today()` with no difference in this case.

There is a formula with that name: WeekNumber(), but it returns week number in year. So, week number in month will be more complicated. You need to calculate it based on first day in month. This is a weekday number of first day:

``````Date(Year(Today()), Month(Today()) , 1).Weekday()
``````

And this is a current day number in month:

``````Day(Today())
``````

So, the first week in month was only `8 - FIRST_DAY_NUMBER` days. All other days except first week should be divided by 7 with round up, to get whole number of week.

Final formula is:

``````Ceiling((Day(Today()) - (8 - Date(Year(Today()), Month(Today()) , 1).Weekday())) / 7) + 1
``````

Replace `Today()` everywhere with date you prefer.

1 Like
#6

Wow man! Thanks, I would have never thought of this, I’ll try it out and I report back on how it worked out

#7

You are welcome! )
Note that Coda works with weeks starting from Sunday not Monday. If your locale works with Mondays, you should replace 8 by 9 in this formula.

3 Likes
#8

Your formula worked just as expected, thanks a lot!

1 Like