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] Calcul d'une date à partir d'une autre date et d'un nombre de jours


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut [Dates] Calcul d'une date à partir d'une autre date et d'un nombre de jours
    Bonjour tout le monde,

    J'ai besoin d'une fonction qui calcule une date, avec comme arguments une autre date, le nombre de jours, et accessoirement le sens du calcul - passé ou futur)

    Je m'explique : concretement, si je suis donne 20/12/06, 5, "futur", la fonction devra me retourner 25/12/06

    Est ce que cette fonction existe ? Sinon est ce qu il existe une fonction equivalente ?

    Merci d'avance.

    MC

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 46
    Points : 52
    Points
    52
    Par défaut
    un petit bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $date = date("d-m-Y");
    $heure = date("H:i");
    Print("Nous sommes le $date et il est $heure");
    ?>
    Gaétan
    Gaétan

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    je connais la fonction date() mais je vois tjs pas comment faire ce dont j'ai besoin

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    je pense avoir trouvé sur php.net

    merci qd meme

    a+

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    en fait j'ai pas trouvé ....

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    gmdate()
    je pense que tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
    ?>
    je pense que tu peux utilisé mktime() pour crée des dates antérieurs ou future.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    hello,

    strtotime() est tres pratique pour cela mais faut lui expliquer les choses en anglais

    http://fr3.php.net/manual/fr/function.strtotime.php
    Pourfendeur de singletons en croisade

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    en gros, personne ne sait comment faire

    concernant strtotime(), il semblerait que ça fonctionne par rapport à la date du jour, mais j'aimerai pouvoir spécifier moi meme la date de départ du calcul

  9. #9
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    juJuv51 t'a donné la reponse:gmdate() et mktime().

    _____________________
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard

  10. #10
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    transforme ta date en entier, puis tu lui ajoute x*60*60*24 pour ajoutez x jour a ta date

  11. #11
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    voila ce que tu cherches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function getDt($date,$jour){// la date doit avoir cette format 'd-m-y'
    	list($d,$m,$y)= explode("-",$date);
    	$date = mktime(0,0,0,$m,$d+$jour,$y);
    	$date=gmdate("d-m-y", $date);
    	return $date;
    }
    //exemple
    $date = '20-12-06';
    echo $date."<br>"; //20-12-06
    $date= getDt($date,5);
    echo $date."<br>";//25-12-06

    _____________________
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    [Dates] Manipulation de date

    Je pense que c'est plus ou moins les mêmes sujets...

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    misère de misère....

    tester c'est si difficile que ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo date( 'd/m/Y' , strtotime( '2000-01-01 + 45 days' ) );
    ca donne quoi ?
    Pourfendeur de singletons en croisade

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    O Mon dieu!!! ça ma donné de l'argent!!!
    non je déconne (oui c'est pas drôle, mais ça me fait rire quand même)

    résultat du code de Petibidon: 15/02/2000

  15. #15
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par amika
    voila ce que tu cherches:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function getDt($date,$jour){// la date doit avoir cette format 'd-m-y'
    	list($d,$m,$y)= explode("-",$date);
    	$date = mktime(0,0,0,$m,$d+$jour,$y);
    	$date=gmdate("d-m-y", $date);
    	return $date;
    }
    //exemple
    $date = '20-12-06';
    echo $date."<br>"; //20-12-06
    $date= getDt($date,5);
    echo $date."<br>";//25-12-06
    merci, ça fonctionne parfaitement
    desolé pour le retard, vacances vacances ...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2010, 15h43
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 14h42

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