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 :

[Dates] Ajouter 15 jours à une date


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Dates] Ajouter 15 jours à une date
    Bonjour.

    donc voila j'utilise une fonction pour ajouter 15 jours à une date grace à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $expiration_date = date('y-m-d', (mktime($creation_date) + 1296000)) . " 01:30:00"; // La date d'expiration, correspond à la date de creation + 15 jours
    et voila le message que j'obtiens :

    Notice: A non well formed numeric value encountered
    quelqu'un sait d'où cela vient ?

    Merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Peut-être devrais-tu jeter un coup d'oeil à la syntaxe de mktime... En tous cas, si tu nous disais ce qu'il y a dans $creation_date, ça pourrait aider
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Invité
    Invité(e)
    Par défaut
    dans $creation date, il y a une date de type : DD-MM-YYYY 01:30:00

    et la je viens de comprendre en écrivant ca (enfin je croi avec compris) que la date n'est pas au bon format pour entre dans la DB.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Par défaut
    Bonsoir,

    le code suivant pourrait t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?
    $date='10-10-2006 01:30:35';
    //Nbre de jours plus tard
    $nbre=15;
    $jour = substr($date, 0, 2); // on récupère le jour
    $mois = substr($date, 3, 2); // puis le mois
    $annee = substr($date, 6, 4); // l'annee ...
    $heure = substr($date, 11, 2); // puis l'heure
    $minute = substr($date, 14, 2); // les minutes
    $seconde = substr($date, 17, 2); //  enfin les secondes
    $date_expiration = mktime($heure,$minute,$seconde, $mois, $jour, $annee)+ 24*3600*$nbre;
    echo date("d-m-Y H:i:s",$date_expiration);
    ?>

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Une autre solution :
    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
    <?php
      //-- Nbre de jours de décallage ------------------------------
      $nbre = 15;
     
      $date = '10-09-2006 01:30:00';  
      echo 'date de création : ' . $date . '<br>';
     
      //-- mettre la date au format standard ------------------------
      list($laDate, $heure) = explode(' ', $date);
      $creation_date = implode('-', array_reverse(explode('-', $laDate))) . ' ' . $heure;
     
      //-- timestamp de la date de création -------------------------
      $TScreation_date = strtotime($creation_date);
     
      //-- calcul de la date d'expiration ---------------------------
      $date_expiration = date('d-m-Y H:i:s', strtotime('+' . $nbre . ' days', $TScreation_date));
      echo 'date d\'expiration : ' . $date_expiration . '<br>';
    ?>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mehdib92 Voir le message
    dans $creation date, il y a une date de type : DD-MM-YYYY 01:30:00

    et la je viens de comprendre en écrivant ca (enfin je croi avec compris) que la date n'est pas au bon format pour entre dans la DB.
    Non j'ai dis une connerie, la date est bien au format MySQL. Mais merci de votre aide je vais me baser la dessus.

    EDIT : Ca fonctionne
    Dernière modification par Invité ; 28/02/2008 à 15h32.

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

Discussions similaires

  1. [Dates] Fonction date: ajouter 3 jours à une date
    Par bobic dans le forum Langage
    Réponses: 8
    Dernier message: 12/03/2007, 11h05
  2. [HQL] Ajouter des jours à une date
    Par loulou dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/01/2007, 11h22
  3. Ajouter un jour à une date
    Par loudo dans le forum Oracle
    Réponses: 13
    Dernier message: 10/07/2006, 12h06
  4. [MySQL] ajout de jour à une date
    Par mohican13 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/03/2006, 17h39

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