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 :

La fonction date_add()


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut La fonction date_add()
    Bonjour,

    J'essaie depuis quelques temps d'utiliser les DateTime. J'utilise entre autre la fonction date_add(). Mais il y a quelque chose que je comprends pas.
    Voici un code simplifié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    		$date = date_create('2011-12-24 23:59:59');
    		$tmp = $date;
    		$interval = date_interval_create_from_date_string('1 seconde');
    		echo 'Avant ajout => date1 : '.date_format($date, 'Y-m-d H:i:s').' tmp : '.date_format($tmp, 'Y-m-d H:i:s').'<br/>';
    		date_add($date,$interval);
    		echo 'Après ajout => date : '.date_format($date, 'Y-m-d H:i:s').' tmp : '.date_format($tmp, 'Y-m-d H:i:s').'<br/>';
    ?>
    et voici le résultat:
    Avant ajout => date : 2011-12-24 23:59:59 tmp : 2011-12-24 23:59:59
    Après ajout => date : 2011-12-25 00:00:00 tmp : 2011-12-25 00:00:00
    Je ne comprends pas pourquoi quand j'ajoute une seconde à la variable date, ça ajoute aussi une seconde à la variable tmp.

    Merci d'avance pour vôtre aide !!

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 906
    Points : 14 828
    Points
    14 828
    Par défaut
    Dans ton cas, ta variable $tmp n'est qu'une référence à ton objet $date. Pour copier un objet, il faut utiliser le clonage :
    http://www.php.net/manual/fr/language.oop5.cloning.php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut
    Merci d'avoir répondu aussi vite, et merci aussi pour ta réponse.
    J'avais aucune idée qu'il fallait parfois utiliser un clonage.

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

Discussions similaires

  1. Fonction DATE_ADD MySql
    Par ozlem dans le forum MySQL
    Réponses: 2
    Dernier message: 25/03/2010, 14h40
  2. la fonction date_add
    Par deborah95 dans le forum MySQL
    Réponses: 3
    Dernier message: 16/03/2009, 18h05
  3. [MySQL] problème avec la fonction DATE_ADD()
    Par othmane126 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/05/2007, 08h41
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 12h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 21h07

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