Bonjour,

Voila je rencontre un petit problème avec mon code.

j'ai creer un formulaire pour saisir date inscription(date ajourd'hui) , date inscription membre ,
je veux lors du seisi une date sur le champ date inscription membre il m'ajouter un 1 ans
j'ai essayer cette methode sa marche pas il m'ajouter 1 ans apartir de la date aujourd'ui:
par exemple :
date inscription membre : 20/02/2017 il m'afiche 1 ans a partir de la date aujourd'ui 21/06/2018
moi je veux :
date inscription membre :20/02/2017 date expiration 20/02/2018
voici mon code:
$date =new \DateTime('+ 1 year');

    $user->setDateDoitPayer($date);
    $user->setDateAdheshion($date);

6 réponses


Salut

Tu peux utiliser les DateInterval pour réaliser ça. Par exemple:

$expirationDate = (new DateTime())->add(new DateInterval('P1Y'));

Date d'aujourd'hui ou j'ajoute (add) un intervalle d'1 an (1 Year).

merci mais maintenant j,ai une erreur DateTime not found in

Faut mettre un antislash devant comme dans tu as fait dans ton premier message ($date =new \DateTime('+ 1 year');)

$expirationDate = (new \DateTime())->add(new \DateInterval('P1Y'));

toujourt sa marche pas , il considere a partir de la adte aujourd'ui , moi je veux une fois la date saisi il considere a partir de cette date
exemple dateinscription :02/02/2016 dateExpiration: 02/02/2017

Bah change (new \DateTime()) par ta variable qui doit être de type dateTime alors.

Salut,
pourquoi ne mets-tu pas cela dans ton constructeur ?

$this->dateInscription = new \DateTime();
$this->dateLimite=new \DateTime('+ 1 year');

C'est bien à l'inscription que tout se jour non ?

Nans