En verdad espero que a alguien mas le sirva.
Suerte.
function calculardiferenciafecha($fechaDocumento,$formato){
//1 es para formato de mysql
//0 es para fechas en formato php
if ($formato==1){
$fechaDocumento=dateconvert($fechaDocumento,1);
}
$fechaActual=date("j/m/Y");
$dia1=troceaFecha($fechaActual,1);
$mes1=troceaFecha($fechaActual,2);
$ano1=troceaFecha($fechaActual,3);
$dia2=troceaFecha($fechaDocumento,1);
$mes2=troceaFecha($fechaDocumento,2);
$ano2=troceaFecha($fechaDocumento,3);
//calculo timestam de las dos fechas
$timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 = mktime(4,12,0,$mes2,$dia2,$ano2);
//resto a una fecha la otra
$segundos_diferencia = $timestamp1 - $timestamp2;
//echo $segundos_diferencia;
//convierto segundos en días
$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);
//obtengo el valor absoulto de los días (quito el posible signo negativo)
$dias_diferencia = abs($dias_diferencia);
//quito los decimales a los días de diferencia
$dias_diferencia = 1+floor($dias_diferencia);
return $dias_diferencia;
//echo $dias_diferencia;
}
//otras funciones que usa esta funcion O.o
function dv($r){$s=1;for($m=0;$r!=0;$r/=10)$s=($s+$r%10*(9-$m++%6))%11;
return chr($s?$s+47:75);}
function dateconvert($date,$func) {
if ($func == 1){ //insert conversion
list($day, $month, $year) = split('[/.-]', $date);
$date = "$year-$month-$day";
return $date;
}
if ($func == 2){ //output conversion
list($year, $month, $day) = split('[-.]', $date);
$date = "$day/$month/$year";
return $date;
}
}
function obtieneFecha($date,$func){
//obtiene la fecha y la hora de un campo datetime de mysql
if ($func == 1){ //obtiene fecha
$date=substr($date,0,strrchr ($date,"-")+2);
return $date;
}
if ($func == 2){ //obtiene hora
$date=substr($date,strrchr ($date,"-")+2,strlen($date));
return $date;
}
}
function troceafecha($date,$func){
//obtiene dia mes y año por separado de una fecha php
switch ($func){
case 1:
//obtiene dia
$date=substr($date,0,2);
break;
case 2:
//obtiene mes
$date=substr($date,3,2);
break;
case 3:
//obtiene año
$date=substr($date,6,strlen($date));
break;
}
return $date;
}
pd:bueno ya saque suficiente la vuelta, pinte el codigo como si fuera dreamweaver, ya que estoy solo aca escuchando the Cramberries, asi que ahora regreso a mi trabajo regular.
No hay comentarios.:
Publicar un comentario