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
![Cool](http://static.forosdelweb.com/fdwtheme/images/smilies/cool.png)
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()
{
}
}
?>
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;
?>
Un saludo.