Fatal error: Call to a member function diff() on string in

publicado por: Anonymous

Quiero ver la diferencia de días entre la fecha actual y el dato del input, pero me sale este error.

Fatal error: Call to a member function diff() on string in

Este es el código:

<input type="date" class="datapicker" required="" name="VEHICLE_DATE_EXPIRATION_SURELY" value="<?php $fechabd1= $fila["VEHICLE_DATE_EXPIRATION_SURELY"];

if($fechabd1==""){

    }
else{
        echo $fechabd1->format('Y-m-d');
    }
 ?>" min="<?php date_default_timezone_set('America/Bogota'); $fechaactual1 = date("Y-m-d");ECHO $fechaactual1; ?>">
 <?php 
    $fechahoy=date("Y/m/d");
    $interval = $fechahoy->diff($fechabd1);
    echo $interval->format('%R%a días');
  ?>

solución

Tenemos que el método date

Devuelve una cadena de fecha formateada. Si se usa un valor no numérico para timestamp, se devuelve FALSE y se emite un error de nivel E_WARNING.

Es precisamente por esta razón que al hacer:

$fechahoy=date("Y/m/d");
$interval = $fechahoy->diff($fechabd1);

Obtienes el error.

Solución:

Deberías usar DateTime para crear la variable $fechahoy y poder usar diff.

Ejemplo:

$fechahoy = new DateTime();
$interval = $fechahoy->diff($fechabd1);
echo $interval->format('%R%a días');
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *