Hi All, starting new reply to retrace back to reason for initial reply.
From a computer science perspective I prefer using functions where the reverse function on function's return value returns the original value.
Let us therefore discuss function "add M months; then add D days." Inverse function therefore is "subtract D days; then subtract M months."
When that is my premise I cannot add full months when initial input has day-of-month = 29 or 30 or 31. When an out-of-month day is reduced to end-of-month, I cannot reverse from output to input.
Example (in case of this question): What is "one month prior to 28-Feb-2019?
And THAT is where the root of calendar calculation issues originates?
- How do you handle end-of-month?
- Do you care whether x = f1( f(x) ) where f1 = reverse of "f"?
There are very good reasons for international finance where I currently work to expres everything as number of days instead of years and months.
HTH /Michael