Formula
result = start ± calendar amount (clamp invalid month days)
I giorni e le settimane si muovono secondo indici fissi dei giorni di calendario. Mesi e anni cambiano componenti, quindi bloccano il giorno di origine se il mese di destinazione è più breve.