IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pb de date et de calcul [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut Pb de date et de calcul
    Bonjour,
    Mon soucis : je rentre une date de début de réservation ( datetime ) et une dure ( interger)
    Je n'arrive pas à recuperer 2 date differentes : la date de début et la date de fin.
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        $reservation1 = new \AppBundle\Entity\Reservation();
                $reservation1 -> setDateDebutReservation($reservation -> getDateDebutReservation());
                $reservation1 -> setDuree($reservation -> getDuree());
                $date = $reservation -> getDateDebutReservation();
                $date -> add ( new \DateInterval ('P'.$reservation -> getDuree().'D'));
                $reservation1 -> setDateFinReservation($date);
                foreach ($reservation -> getAnimals() as $animal){
                    $reservation1 -> addAnimal($animal);
                }
                $test[]=$reservation1;
            }
    dump($test);
    Seulement
    dateFinReservation est bien le résultat de dateDebutReservation + duree mais
    dateDebutReservation est identique à dateFinReservation

    Je ne comprends pas mon erreur.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne ferais pas un clone d'objet datetime ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Bonsoir, cela à l'air d'être cela, mais comment empêcher ce clonage,

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment "ça a l'air" ? tu le fais ou pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    je ne sais pas si cela est du clonage.
    Je fais comme suit :
    dateDebut = dateRecupérée;
    duree = dureeRécupérée;
    dateFin = dateDebut; ==> c'est donc cela du clonage.
    dateFin -> add (duree);

    Comment puis-je faire donc pour effectuer cette manipulation sans clonage.

    Merci

  6. #6
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 61
    Points
    61
    Par défaut
    Merci pour ton aide "Sabotage";
    C'etait effectivement du clonage, mais il a fallut que je comprennes le principe du clone POO.

    La solution que j'ai fait :
    au lieu de
    dateDebut = dateRecupérée;
    duree = dureeRécupérée;
    dateFin = dateDebut; ==> c'est donc cela du clonage.
    dateFin -> add (duree);

    J'ai fait :
    dateDebut = dateRecupérée;
    duree = dureeRécupérée;
    dateFin = clone dateDebut;
    dateFin -> add (duree);

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pb de date et de calcul bilan
    Par itchyjojo dans le forum IHM
    Réponses: 1
    Dernier message: 22/05/2007, 21h38
  2. [Dates] Faire un calcul sur une date?
    Par kevinf dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2006, 19h18
  3. [Dates] mktime() et calcul de date
    Par nerick dans le forum Langage
    Réponses: 6
    Dernier message: 09/02/2006, 17h25
  4. [Date] Fonction de calcul de durée entre 2 dates
    Par jesus144 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/01/2006, 16h36
  5. Réponses: 3
    Dernier message: 13/10/2005, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo