Partage
  • Partager sur Facebook
  • Partager sur Twitter

Additioner des heures en PHP.

    11 octobre 2021 à 18:01:10

    Bonjour à tous,

    J'ai une base mySQL avec une colone de type "time".

    J'ai 4 colones :

    Mysql me redonne donc une réponse comme ca :

    - Heure Arrivé matin : 08:00:00

    - Heure Départ matin : 12:00:00

    - Heure arrivée Apres midi : 13:00:00

    - Heure départ Apres midi : 17:00:00

    J'aurais aimé additioner les heures cumulée de la journée... ((diffréence heure matin)+(différence heures apres midi), avec une sortie en nombre d'heures.

    Mais c'est d'un compliqué en php...

    Merci à tous !

    • Partager sur Facebook
    • Partager sur Twitter
      11 octobre 2021 à 21:12:48

      SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`Heure Départ matin`) - TIME_TO_SEC(`Heure Arrivé matin`) + TIME_TO_SEC(`Heure départ Apres midi`) - TIME_TO_SEC(`Heure arrivée Apres midi`))) FROM ... WHERE ... ?

      Le seul problème c'est que MySQL est un peu limité, donc si ça dépasse 24H, pas sûr que l'on obtienne ce que l'on veuille (si ce n'est pas le cas, il faut virer le SEC_TO_TIME). Je crois avoir vu passer plus d'une fois la question.

      J'aurais bien dit qu'en PHP ça reste le même principe sauf qu'à une instance DateInterval on ne peut pas rajouter du temps donc, en réalité, ce serait la même idée, il faut calculer d'abord raisonner/calculer en secondes.

      PS : en fait, c'est logique, si du TIME c'est pour représenter une heure, ce n'est pas vraiment le type le plus approprié pour additionner des secondes. MySQL manque d'un type (Date/Time)Interval.

      -
      Edité par julp 11 octobre 2021 à 21:24:53

      • Partager sur Facebook
      • Partager sur Twitter

      Additioner des heures en PHP.

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown