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] Additionner des dates en PHP comme avec ADDTIME


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut [Dates] Additionner des dates en PHP comme avec ADDTIME
    Bonjour, voilà je voudrais utiliser l'équivalent de la fonction ADDTIME de mysql qui me permet par exemple d'aditionner (2004-10-27 12:00:00,03:00:00) etc...
    Quelqu'un aurait t'il eu vent d'un script permettant de faire cela ??

    Merci à tous...

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Bonjour,

    En transformant tes dates en timestamp, tu pourra faire ce que tu veux avec.

    Le problème peut etre la transformtion Date->Timestamp

    Pierre
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par FCYPBA
    Bonjour,

    En transformant tes dates en timestamp, tu pourra faire ce que tu veux avec.

    Le problème peut etre la transformtion Date->Timestamp

    Pierre
    Mais une fois que la date est convertit en Timestamp, comment récupérer le bon format de date pour insérer dans ma base Mysql... Par exemple si je veux additioner 2006-10-27 03:00:00 + 03:00:00, est ce possible avec timestamp, que j'étudie mais qui me semble afreusement compliqué....
    Merci...

  4. #4
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Pour transformer le timestamp, tu peux le reconvertir dans le format 'texte' que tu veux via la fonction date() et ses nombreux modificateurs


    Mais si c'est pour réinjecter la date transformée dans du mysql, pourquoi ne pas essayer ( pour faire plus simple ) de faire toute l'opération en base de données
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Ok...
    Ok, merci je vais tenter les conversions, puis la reconversion au format date, je suis obligé de la faire en PHP, car j'ai une fonction qui nécessite en paramêtres l'heure et la date de départ, et l'heure et la date d'arrivée, mon calcul doit sefaire avant insertion dans la base.
    Je te remercie pour ton aide...

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Problème d'addition des strtotime...après conversion
    En fait voilà, j'arrive désormais à convertir en timestamp avec strtotime, puis reconvertir en date avec date(), mais par contre lorsque j'additionne des strtotime, et que je reconvertis au format date, j'obtiens des résultats étrnages, du style :
    $test= strtotime("13:00:00");
    $coco = strtotime("02:00:00");
    $addition = $test + $coco;
    echo date("G:i:s",$addition); //4:41:05 alors que je devrais obtenir 17:00:00

  7. #7
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    je crois que ce fonctionnement est du a une mauvaise utilisation au niveau du timestamp par la focntion date quand celui-ci est inférieur à un jour.

    Pour remedier au problème, j'avais recours à une focntion que je vais essayer de retrouver ( tu dois pouvoir la trouver sur le site de php ).

    Pour le moment je vais manger
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par FCYPBA
    je crois que ce fonctionnement est du a une mauvaise utilisation au niveau du timestamp par la focntion date quand celui-ci est inférieur à un jour.

    Pour remedier au problème, j'avais recours à une focntion que je vais essayer de retrouver ( tu dois pouvoir la trouver sur le site de php ).

    Pour le moment je vais manger

    Ok, merci et bon apétit...

  9. #9
    Membre expérimenté

    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
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    	$date = '2004-10-27 12:00:00';
    	$plus = 3;
    	echo "$date<br>";
    	echo date('Y-m-d H:i:s',strtotime("+$plus hours", strtotime($date))) . '<br>';
    ?>

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Rebonjour
    Citation Envoyé par jeca
    Bonjour,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    	$date = '2004-10-27 12:00:00';
    	$plus = 3;
    	echo "$date<br>";
    	echo date('Y-m-d H:i:s',strtotime("+$plus hours", strtotime($date))) . '<br>';
    ?>
    Effectivement, cela fonctionne, mais comment additionner, un emsemble de données (exple heures et minutes) exemple :
    echo date('Y-m-d H:i:s',strtotime("+".$plus_hour." hours","+".$plus_minute." minutes", strtotime($date))) . '<br>';

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut
    Ok j'ai trouvé la soluce pour les minutes jours etc...
    echo $result_hour = date('Y-m-d H:i:s',strtotime("+$plus_hour hours +$plus_minute minutes", strtotime($date))) . '<br>';

    Merci Jeca...

  12. #12
    Membre expérimenté

    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
    Points : 1 357
    Points
    1 357
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    	$date = '2004-10-27 12:00:00';
    	$heure = 3;
    	$minute = 5;
    	$seconde = 10;
    	echo "$date<br>";
    	echo date('Y-m-d H:i:s',strtotime("+$heure hours $minute minutes $seconde seconds", strtotime($date))) . '<br>';
    ?>
    Tous les détails sont dans le manuel php :
    http://fr.php.net/manual/fr/function.strtotime.php

  13. #13
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 94
    Points : 65
    Points
    65
    Par défaut Merci a tous
    Merci à FCYPBA et Jeca, pour leurs aides..ce forum est vraiment super, on trouve toujours une solution à ces problèmes..vive la France !

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

Discussions similaires

  1. Additionner des dates
    Par Coriolie dans le forum SAS Base
    Réponses: 5
    Dernier message: 21/12/2011, 14h37
  2. Réponses: 1
    Dernier message: 24/03/2010, 11h49
  3. [Dates] Affichage des images d'un dossier - avec date
    Par Axtrane dans le forum Langage
    Réponses: 12
    Dernier message: 10/03/2007, 21h12
  4. [Dates] Additionner des datetimes
    Par Jim_Nastiq dans le forum Langage
    Réponses: 9
    Dernier message: 12/05/2006, 15h57
  5. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15

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