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 :

comment ajouter une date d'expiration a une date ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Points : 47
    Points
    47
    Par défaut comment ajouter une date d'expiration a une date ?
    Bonjour

    j'ai une classe des annonce , le moment de postuler l'annonce le System enregistre la date de l'annonce , je veux ajouter 60 jours
    a cette date , donc elle aura une date d'expiration ancien_date + 60 jours voila mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //obtenir première date
    	public function setDatAnnonce($dat = null ){
    						date_default_timezone_set('UTC');
    						if($dat == null){
    							$this->datAnnonce = date("d-m-Y h:i:s", time());
    						}else{
    							return $this->datAnnonce = $dat;
    						}
    				}
     
    // pour ajouter 60 jours
     
    $this->datExpiration = date_add($this->datAnnonce,date_interval_create_from_date_string("60 days"));
    mais le résultat de mon secript est un erreur
    Parse error: syntax error, unexpected '11' (T_LNUMBER) in
    La date d'annonce enregistrée dans la variable $this->datAnnonce est
    15-02-2015 11:57:58
    Donc 11 dans l'erreur correspond a l'heure .

    merci bien pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2014
    Messages : 180
    Points : 58
    Points
    58
    Par défaut
    Salut,

    je ne sais pas si ça peut aider, mais est-ce que ton format date correspond à la time zone?

    Je m'explique si tu est dans notre fuseau horaire, il faut utiliser l'heure sur 24h non?(bon je te donne mon point de vue je ne suis pas un expert !)
    suivant la doc, tu peut utiliser le bon format par rapport à la zone
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    // Définit le fuseau horaire par défaut à utiliser. Disponible depuis PHP 5.1
    date_default_timezone_set('UTC');
     
     
    // Affichage de quelque chose comme : Monday
    echo date("l");
     
    // Affichage de quelque chose comme : Monday 8th of August 2005 03:12:46 PM
    echo date('l jS \of F Y h:i:s A');
     
    // Affiche : July 1, 2000 is on a Saturday
    echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
     
    /* utilise les constantes dans le paramètre format */
    // Affichage de quelque chose comme : Wed, 25 Sep 2013 15:28:57 -0700
    echo date(DATE_RFC2822);
     
    // Affichage de quelque chose comme : 2000-07-01T00:00:00+00:00
    echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
    ?>
    Donc si j'ai bien compris, tu devrais utiliser :
    C'est vraiment une idée je ne sais même pas si c'est cohérent mais bon !!!

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Points : 47
    Points
    47
    Par défaut
    merci cid d'avoir répondu a ma question, j'ai jeté un coup d’œil sur php.net
    oui effectivement on ne peut pas Echo out un objet date sans date_format .
    la solution pour mon problème (si quelqu’un se trouve avec une même situation),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public function setDatAnnonce($dat = null ){
    						date_default_timezone_set('UTC');
     
    						if($dat == null || empty($dat )){
    							$this->datAnnonce = date_create(NULL);
    						}else{
    							return $this->datAnnonce = date_create($dat);
    						}
    				}
    //date expiration function
     
     public function setDatExpiration($dat = null){
     
    					if($dat == null && !($this->setLastModified())){
     
    						$this->datExpiration = date_add($this->datAnnonce,date_interval_create_from_date_string("60 days"));
    						$this->datExpiration = date_format($this->datExpiration,"d-m-Y");
    					}elseif($this->setLastModified() && $dat = null){
     
    						$this->datExpiration = date_add($this->LastModified,date_interval_create_from_date_string("60 days"));
    						$this->datExpiration = date_format($this->datExpiration,"d-m-Y");
    					}else{
     
    						$this->datExpiration = date_add($this->datAnnonce,date_interval_create_from_date_string("60 days"));
    						$this->datExpiration = date_format($this->datExpiration,"d-m-Y");
    					}
     
    				}
    date_create(NULL) ça donne le temps courant.
    merci a vous .

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

Discussions similaires

  1. [AIDE] Comment ajouter un nb de jours ouvres à une date
    Par Diablo_22 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 15/06/2009, 10h15
  2. Réponses: 3
    Dernier message: 18/12/2008, 15h46
  3. Réponses: 4
    Dernier message: 22/02/2008, 10h02
  4. Réponses: 6
    Dernier message: 13/11/2007, 18h10
  5. Réponses: 8
    Dernier message: 26/03/2006, 15h09

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