Realmente, isso não é algo tão trivial assim. Acredito que todo mundo tenha passado por uma etapa da infância onde perguntou para alguém mais velho: "E quem nasce dia 29 de fevereiro, faz aniversário quando?".
(...) qual deve ser o resultado?
A resposta certa é que "ninguém sabe ao certo".
Concordo. Eu acredito que isso varia muito de contexto para contexto. Se eu precisasse implementar uma "soma de mês", perguntaria "para que você precisa disso?". Acho que minha ficha caiu para essa necessidade quando precisei lidar com algo parecido, quando ainda estava aprendendo JavaScript, e vi que a biblioteca Moment.js tinha duas funções especiais, startOf
e endOf
, para obter o começo ou fim de um período (mês, por exemplo).
Ótimo artigo.