Bueno, este mas que un ejercicio de php es un problema matemático. json creo que te ha dado la mejor solución. Si vas a realizar un calculo de cualquier tipo debes usar la unidad mas idonea para hacerlo (en este caso segundos)
Para poner un ejemplo practico los años bisiestos nacen de la diferencia de dar una vuelta al sol en un año. Como en cada años sobran unas horas, minutos y segundos cada cuatro años deciden unirlos en un solo día para apañar el desfase.
Si tu usas dias, horas y minutos estan omitiendo los segundos que no calculas y por ende al correr el tiempo esos segundos que no tuviste en cuenta son los que te hacen tener 8 pavos de diferencia que para una compañia pueden generar enorme perdidas.
Espero que la explicación haya sido clara.
Igual yo propongo que en lugar de sacar dias, horas y minutos saques la diferencia total en segundos.
Cita: En este caso imprime: 2 años, 4 meses, 2 días, 1 horas, 17 minutos
¿Y cuantos segundos existen de diferencia? Estas dejando por fuera una diferencia que pueden ser 15 segundos, 20 segundos, 0 segundos. Eso que no tomas en cuenta puede hacer que varie tu precio
Revisate estas ideas y nos cuentas que diferencias encuentras en el calculo, asi de paso aprendemos todos
http://soyautodidacta.com/2013/04/ca...echas-con-php/ http://redesweb593.blogspot.com/2013...echas-PHP.html http://www.blogdephp.com/como-calcul...php-strtotime/