Wow, that is so strange.
I'm really sorry; my formula worked fine for me.
I think your solution should work! It's certainly a lot less confusing than mine.
That being said, I can't make it work on my end. No matter what date I input, the final date is always Wednesday, December 31st, 1969.
If it works for you, though, you should go for it! Just watch out for February 29th
As an aside, I was reviewing my formula and noticed it got messed up in the beginning of the year, as well as two years after the leap year. This formula should work for any date, assuming it works for you at all.
if(((format-date(${Ex8},'%Y') mod 4 = 0) and (format-date(${Ex8}, '%n') > 2)) or (format-date(${Ex8},'%Y') mod 4 = 1) or ((format-date(${Ex8},'%Y') mod 4 = 2) and (format-date(${Ex8}, '%n') <3)), date(decimal-date-time(${Ex8}) + ((365.25*30)- 1)), date(decimal-date-time(${Ex8}) + ((365.25*30))))
I tested it for February and March 1st of the years 2022-2027. It also works for February 29th; 18 or 30 years after the 29th is March 1st.
The gist of the formula is:
- If a leap year AND after February
OR - If the year after a leap year
OR - Two years after a leap year AND after February
then subtract one day.
You are right; after muddling through this, I'm not sure why Esri hasn't figured out a solution directly.
Let us know how it works out!