demande d'aide

Par thejoker, il y a 5 ans


Salut ! je suis debutant en php.
j'ai rencontré un probleme lors d'un TP

<div class="form-group"> <input type="datetime" class="form-control" name="datap" id="datap" placeholder=""/> </div> php <?php $datap = $_POST['datap']; $datetime1 = new DateTime($datap); // Date dans le passé $datetime2 = new DateTime(date("Y-m-d H:i:s")); // Date du jour $anneutilisation = $datetime1->diff($datetime2); $anneutilisation->format('%y'); // par exemple: 4 annees utilisation

j'aimerais obtenir le nombre d'annee d'utilisation mais voici ce que j'obtiens comme message d'erreur

Recoverable fatal error: Object of class DateInterval could not be converted to string

je ne sais que faire votre aide sera la bienvenue merci.

3 réponses

kurdtkobane, il y a 5 ans

Hello,

L'erreur indique simplement que tu essaie de retourner en String un objet ce qui n'est pas possible.

Essaie ça:

$datetime1 = new DateTime($datap); // Date dans le passé $datetime2 = new DateTime(date("Y-m-d H:i:s")); // Date du jour $anneutilisation = $datetime1->diff($datetime2)->format('%y'); echo $anneutilisation;

J'ai testé et ça marche, seulement il faut que le format entré dans $datap soit le même que $datetime2 donc si ton utilisateur ne rentre qu'une année il faut que ton date dans datetime soit au format date("Y") sinon la diff fera n'importe quoi.

Prince12r, il y a 5 ans

je ne sais que faire votre aide sera la bienvenue merci.

Prince12r, il y a 5 ans

L'erreur indique simplement que tu essaie de retourner en String un objet ce qui n'est pas possible.

Cellinfo