Calcular cuántos meses han pasado entre dos fechas con PHP

meses-entre-dos-fechas-con-php

Había por un ahí un chiste malo que dice algo como que si le preguntas a un abogado cuánto es dos mas dos, te pregunta ¿cuánto quieres que sea?

Esta función calcula los meses que han pasado desde una fecha a otra, pero no meses como los mortales los conocemos, por ejemplo:

2016-12-16 a 2017-11-02 -- 10 meses 17 días
2017-03-18 a 2018-01-16 -- 9 meses 29 días
2017-04-16 a 2017-11-02 -- 6 meses 16 días
2017-09-30 a 2017-10-01 -- 0 meses 1 día

Es decir, los meses naturales entre dos fechas es fácil calcularlos con PHP usando la función DateDiff, sin embargo si vemos los meses que han pasado (diferencia relativa) entre esas dos mismas fechas, la cosa cambia:

2016-12-16 a 2017-11-02 -- 11 meses
2017-03-18 a 2018-01-16 -- 10 meses
2017-04-16 a 2017-11-02 -- 7 meses
2017-09-30 a 2017-10-01 -- 1 meses

Por tomar el último ejemplo, del 30 de septiembre al primero de octubre del mismo año sólo ha pasado 1 día y cero meses. Sin embargo, de septiembre a octubre ha pasado un mes...

El código fuente del ejemplo se encuentra en mi github.

PHP

por Jorge Martínez Mauricio :)

¿Algo que comentar?


Populares estos días

    Suscríbete por correo electrónico, recibirás los nuevos escritos antes que nadie y es gratis 😊


    tar.mx es un blog sobre tecnología y otras chunches