I disagree about "plus" in the JodaTime example. The month addition with corner cases did exactly what I expected because the whole library has been polished to "do what a normal human would do, most of the time". A normal human would not suspect Jan + 1 month, is any month other than Feb. However I suspect, not even reading the documentation, if it were fed 30 or 31 days, rather than '1 month', it would also do exac…
Because humans intentionally reduce the precision of their computations to make them easier.
Today = 2021-08-04
Next year = 2022
The exact month, day, hour are all unknown.
Next month = 2021-09
The exact day and hour are unknown.
Tomorrow = 2021-08-05
The hours and minutes are unknown.
If humans used the same level of precision as computers, they'd run into the same problems. Probable date of birth calculation is an example.