Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/05/2018, 02:52
estrella_de_Galicia
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Calculo de fechas y dias de pago

Gracias @ocp001a

He encontrado otra solución espero que os sirva para calcular la fecha de vencimiento

Tener en cuenta que el formato de fechas es YYYY-MM-DD (año - mes - dia)


Los pasos para calcular las fechas son:

Sumar a la fecha inicio los dias (en este caso 30 dias)
Calculamos el numero de dias que hay entre la fecha resultante y el dia de pago en el mes actual del resultado y al del mes siguiente

Código PHP:

$finicio 
"2003-01-15";
$dias "30";
$diapago1 "5";

echo 
'<p>Fecha inicio: '.$finicio.'</p>'
echo 
'<p>Dias: '.$dias.'</p>'
echo 
'<p>Dia de pago: '.$diapago1.'</p>'


$dias $dias 86400;
        
        
$fecharesultado date('Y-m-d'strtotime($finicio) + $dias);

echo 
'<p>30 dias '.$fecharesultado.'</p>';


$xfecha explode("-"$fecharesultado);
            
$fano $xfecha[0];
            
$fmes $xfecha[1];
            
$fdia $xfecha[2];
        
        
$xtempfpagoa $fano.'-'.$fmes.'-'.$diapago1;
        
$fmes $fmes 1;
        
$xtempfpagob $fano.'-'.$fmes.'-'.$diapago1;


$datetime1 = new DateTime($fecharesultado);
$datetime2 = new DateTime($xtempfpagoa);
$intervala $datetime1->diff($datetime2);
$difa $intervala->format('%R%a');


$datetime1 = new DateTime($fecharesultado);
$datetime2 = new DateTime($xtempfpagob);
$intervalb $datetime1->diff($datetime2);
$difb $intervalb->format('%R%a');

$date = new DateTime($xtempfpagoa);
$xtempfpagoa =  $date->format('Y-m-d');

$date = new DateTime($xtempfpagob);
$xtempfpagob =  $date->format('Y-m-d');


echo 
'<p>dif A '.$difa.' -- '.$xtempfpagoa.'</p>';
echo 
'<p>dif B '.$difb.' -- '.$xtempfpagob.'</p>';


$numdifa = (float)$difa;
$numdifb = (float)$difb;

echo 
'<p>numero: '.$numdifa.'</p>';
echo 
'<p>numero: '.$numdifb.'</p>';

if (
$numdifa == && $numdifa == 0)
{
    echo 
'<p>Es el mismo dia de vencimiento: '.$xtempfpagoa.'</p>';
}
else
{
    if (
$numdifa 0)
    {
        echo 
'<p>La fecha de vencimiento será '.$xtempfpagoa.'</p>';
    }
    else
    {
        echo 
'<p>La fecha de vencimiento será '.$xtempfpagob.'</p>';
    }