Tema: Clase Fechas
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2005, 09:42
Avatar de MarioNunes
MarioNunes
 
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Clase Fechas

Bueno, es posible que haya una manera mejor de solucionar el asunto de las fechas, aunque he estado mirando en el foro y así... no he visto, que no quiere decir que no exista, una solución como la que estaba buscando.

Mirando por internet ya tal al final he llegado a la conclusión de hacer esta clase que la publico aquí porque puede que sea de utilidad para alguien.

Está recien creada y la he probado, para ser una clase más completa habría que hacer el control del formato de la fecha en vez de estar separado por "/" si está por "-" o por espacios o puntos o lo que sea y generar una excepción... pero bueno... ahi va el código. Tambien es posible que por ahi exista una clase bastante mejor, pero esta es la mia xD

Ya se que el constructor y el destructor de la clase sobra por el momento pero.. estoy pensando que más métodos utilizar. Si me dais sugerencias las iré agregando.

fechas.class.php
Código PHP:
<?
class fechas
{
    function 
__construct()
    {
        
    }
    
    function 
diferencia_dias($primera$segunda)
    {
        
$fecha1=$this->separarfecha($primera);
        
$fecha2=$this->separarfecha($segunda);
        
$inicio mktime(0,0,0,$fecha1['mes'],$fecha1['dia'],$fecha1['ano']) ;
        
$fin mktime (0,0,0,$fecha2['mes'],$fecha2['dia'],$fecha2['ano']) ;
        
$resultado $fin $inicio ;
        
$resultado $resultado 60 60 24 ;
         return 
$resultado;
    }
    
    function 
dias_hoy($fecha)
    {
        
$fecha1=$this->separarfecha($fecha);
        
$inicio mktime(0,0,0,$fecha1['mes'],$fecha1['dia'],$fecha1['ano']) ;
        
$fin mktime (0,0,0,date("m"),date("d"),date("y")) ;
        
$resultado $fin $inicio ;
        
$resultado $resultado 60 60 24 ;
        
        return 
$resultado;
    }
    
    
    function 
separarfecha($date
    {
      if (
count($datebits=explode('/',$date))!=3) return false;
      
$dia intval($datebits[0]);
      
$mes intval($datebits[1]);
      
$ano intval($datebits[2]);
    
      return array(
'dia' => $dia,'mes' => $mes,'ano' => $ano);
    }
     
    function 
__destruct()
    {
        
    }
}
?>
Como utilizar la clase:

fechas.php
Código PHP:
<?
include("fechas.class.php");
$obj=new fechas();
$dias=$obj->diferencia_dias("25/11/2005","25/11/2005");
echo 
$dias;
echo 
"<br><br><br>";
$dias=$obj->dias_hoy("25/11/2005");
echo 
$dias;
?>
Bueno, pues espero vuestras sugerencias y/o opiniones.

Un saludo.
__________________
www.pensandoenred.com