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] Fonction date: ajouter 3 jours à une date


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut [Dates] Fonction date: ajouter 3 jours à une date
    Bonjour à tous,

    Je cherche un moyen pour ajouter 3 jours à une date donnée.

    Ex: 23/01/1984, et je chercher ajouter 3 jours, afin que la fonciton PHP me retourne 26/01/1984.


    Bien sur, si on est le 31, le but est que la fonction me retourne 02/02/1984

    J'ai cherché pour voir si directement avec un date(.........) cela ne pouvait pas fonctionner, mais rien n'y fait , je n'ai rien trouvé.

    Merci de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    La fonction mktime te renvoit un timestamp que tu peux afficher au moyen de la fonction date.

    Tu passes en paramètre les heures minutes secondes jours mois années, tu peux donc jouer facilement sur un de ces paramètres (jour +3).
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    merci de ta réponse.
    En fait, j'envoi à ma fonction, la date au format ('jj-mm-yy'), la date est donc déjà toute formatée.

    Je peux la "couper " avec un split remarque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    list($annee, $mois, $jour) = split('[-.]', $dateDebut);
    $fin = mktime(0, 0, 0, $mois , $jour + $delai, annee);
    cela fonctionnerait-il ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Oui ca devrait marcher, à tester et nous le confirmer
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  5. #5
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    Alors, oui, cela à l'air de fonctionner.
    Sauf que, ensuite, je dois formatter le mktime au format date().

    Je vais chercher comment faire

  6. #6
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    J'ai donc fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           list($annee, $mois, $jour) = split('[-.]', $dateDebut);
          //  $fin = mktime(0, 0, 0, $mois , $jour + $delai, $annee);
         $fin = date('d-m-Y',mktime(0, 0, 0, $mois , $jour + $delai, $annee ));
    Le problème est que, pour une date d'entrée "12-03-2007" cela me renvoit "04-09-2017"

    Il y a un petit soucis

  7. #7
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    oups, c'est bon cela foncitonne: j'avais mis dans le mauvais ordre les datas dans ma liste

    Merci, tout est parfait

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Moi je mettrais 12h00 pour etre sur (12 au premier parametre).

    Vérifie les données après ton split à mon avis le problème vient de la car j'ai déjà utilisé cette méthode des dizaines de fois sans le moindre souci
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  9. #9
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    tout juste, c'étais bien mon split

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

Discussions similaires

  1. ajouter des jours à une date
    Par babalastar dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 27/02/2007, 11h39
  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