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.