J'obtiens des résultats différents lorsque j'ajoute des mois à un DateTime par incréments différents. Est-ce un bug?Rails Ajout de mois DateTime non cohérent
> start_date = DateTime.strptime("03/31/2001", "%m/%d/%Y")
#=> Sat, 31 Mar 2001 00:00:00 +0000
> start_date + 3.months
#=> Sat, 30 Jun 2001
> d1 = start_date + 3.months
#=> Sat, 30 Jun 2001
> d2 = d1 + 3.months
#=> Sun, 30 Sep 2001
> d3 = d2 + 3.months
#=> Sun, 30 Dec 2001
> start_date + 9.months
#=> Mon, 31 Dec 2001
Alors, (((start_date + 3.months) + 3.months) + 3.months)
! = start_date + 9.months
?
Solution (basé sur la réponse acceptée ci-dessous): l'utilisation de d3.end_of_month
me donne l'attendu 31 December
au lieu de 30 December
.
Merci. J'ai une boucle dans mon application qui augmente de trois mois à la fois, et s'attend à aller à la fin de chaque 3 mois pour la condition de sortie de travailler - y at-il un moyen (non manuel) pour y parvenir? – Anand
@Anand Combinez ce que vous avez avec http://stackoverflow.com/q/14120661/525478 –