Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  1. #1
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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 émérite
    Avatar de FCYPBA
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : novembre 2004
    Messages : 745
    Points : 934
    Points
    934

    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

  3. #3
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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 émérite
    Avatar de FCYPBA
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : novembre 2004
    Messages : 745
    Points : 934
    Points
    934

    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

  5. #5
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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 émérite
    Avatar de FCYPBA
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : novembre 2004
    Messages : 745
    Points : 934
    Points
    934

    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

  8. #8
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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 Expert
    Inscrit en
    août 2002
    Messages
    1 056
    Détails du profil
    Informations forums :
    Inscription : août 2002
    Messages : 1 056
    Points : 1 194
    Points
    1 194

    Par défaut

    Bonjour,

    Essaie ça :
    Code :
    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
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    Par défaut Rebonjour

    Citation Envoyé par jeca
    Bonjour,

    Essaie ça :
    Code :
    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
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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 Expert
    Inscrit en
    août 2002
    Messages
    1 056
    Détails du profil
    Informations forums :
    Inscription : août 2002
    Messages : 1 056
    Points : 1 194
    Points
    1 194

    Par défaut

    Code :
    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
    Nouveau Membre du Club
    Inscrit en
    juillet 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 94
    Points : 38
    Points
    38

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •