I know you've asked for a solution using core tools but I'm attaching a JS macro I made anyway in case you'd decide to use it.
The invocation is <<FutureDate YYYYMMDD y m d>> (y=years, m=months, d=days), so for example for 2 months and 15 days from the 1 December 2019 you would put <<FutureDate 20191201 0 2 15>>.
If you wish to calculate time from now, use:
<$set name=today value=<<now YYYY0MM0DD>>>
<<FutureDate $(today)$ 0 0 90>>
The macro also works with negative numbers, so "Future" Date isn't very accurate in terms of name (feel free to rename, adjust, etc). The macro works on full days only (disregards time), so it doesn't care what timezone you're in, doesn't convert to UTC etc., it just adds/subtracts full years, months or days from the current (local) date.
The output is in the same format as the <<now>> macro, so YYYY0MM0DD (though without hours, minutes, seconds, etc. as it's time-agnostic). you can easily modify this macro if you wish a different output.
Please read the description.
Macro to find a future date based on the number of years, months or days from today.
<<FutureDate YYYYMMDD y m d>>,
where YYYYMMDD is the starting date and y, m, d are, respectively, year(s), month(s) and/or day(s) to be added to the starting date.
Don't add more than 12 months in one parameter -- for example, instead of adding 18 months, add 1 year and 6 months.