Hace cuanto tiempo con fechas en PHP

Voy a compartir contigo una clase en PHP que programé hace tiempo, básicamente lo que hace esta clase es recibir una fecha y una hora y de forma automática nos devuelve un string diciendo hace cuanto tiempo fue eso, por ejemplo:
– Hace 20 horas
– Hace 12 dias
– Hace 2 años

Eso es lo que hace está clase, espero que te sea de utilidad, para tus proyectos.

<?php
class HaceCuanto{

    public function imprimirTiempo($fecha,$hora){
        $start_date = new DateTime($fecha." ".$hora);
        $since_start = $start_date->diff(new DateTime(date("Y-m-d")." ".date("H:i:s")));
        echo "Hace ";
        if($since_start->y==0){
            if($since_start->m==0){
                if($since_start->d==0){
                   if($since_start->h==0){
                       if($since_start->i==0){
                          if($since_start->s==0){
                             echo $since_start->s.' segundos';
                          }else{
                              if($since_start->s==1){
                                 echo $since_start->s.' segundo';  
                              }else{
                                 echo $since_start->s.' segundos';  
                              }
                          }
                       }else{
                          if($since_start->i==1){
                              echo $since_start->i.' minuto';  
                          }else{
                            echo $since_start->i.' minutos'; 
                          }
                       }
                   }else{
                      if($since_start->h==1){
                        echo $since_start->h.' hora';
                      }else{
                        echo $since_start->h.' horas'; 
                      }
                   }
                }else{
                    if($since_start->d==1){
                        echo $since_start->d.' día';
                    }else{
                        echo $since_start->d.' días'; 
                    }
                }
            }else{
                if($since_start->m==1){
                   echo $since_start->m.' mes'; 
                }else{
                    echo $since_start->m.' meses';
                }
            }
        }else{
            if($since_start->y==1){
                echo $since_start->y.' año';
            }else{
                echo $since_start->y.' años';
            }
        }
    }
}
?>

Más información:
Curso online Aprende PHP desde cero con 36 ejercicios prácticos
Vídeo Curso de Symfony3 ¡Domina el framework PHP más completo !
Curso de Desarrollo web full-stack con Symfony3 y Angular 2
Vídeo Curso de Zend Framework 2 ¡¡ Aprende fácil y rápido !!

Victor

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post

Poner un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *