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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Moyenne d'heures avec PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Moyenne d'heures avec PHP
    Bonjour,

    J'ai cherché en vain s'il existait une fonction pour faire une moyenne d'heures avec PHP.

    Voilà pourquoi j'en ai besoin :
    J'ai plusieurs heures de passage (Ex : Passage au km 57 sur la RN138, à 14:17, le 10/01/2010. A 15:02, le 11/01/2010... etc.) à un point donné, et j'aimerai en faire une moyenne.

    Si vous avez une idée simple, je suis preneur. Avant que je me lance dans quelque chose de compliqué.

    D'avance, merci.

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    bonjour,
    Ce qui me vient à l'esprit la tout de suite, c'est une boucle qui pour chaque heure :
    - converti en décimal l'heure
    - somme cette heure avec un total courant
    - incrément un compteur de valeurs 'heures'

    Puis le cumule (total) sera divisé par le compteur (nombre d'element) et voila une maginifique moyenne

    Z.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Salut,

    Pas si simple parce que l'axe de répartition des horaires est circulaire.

    Pour gérer tous les cas, je dirais qu'il faut choisir une valeur dite de référence dans ta plage de valeurs et calculer non pas la moyenne des horaires mais la moyenne des durées (positives ou négatives) séparant les autres valeurs de cette valeur de référence. Ensuite tu ajoutes le résultat à ta valeur de référence...

    Mais il faut d'abord que tu gères la base 60 pour les minutes et secondes et la base 24 pour les heures.....

    Bon courage !
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    bonjour,
    Ce qui me vient à l'esprit la tout de suite, c'est une boucle qui pour chaque heure :
    - converti en décimal l'heure
    - somme cette heure avec un total courant
    - incrément un compteur de valeurs 'heures'

    Puis le cumule (total) sera divisé par le compteur (nombre d'element) et voila une maginifique moyenne

    Z.
    Le souci c'est de définir la moyenne en 01:00:00 et 23:00:00... Est-ce 00:00:00 ou 12:00:00 ?

    Curieux de voir la solution que tu auras choisie !
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  5. #5
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 10
    Points
    10
    Par défaut J'me suis compliqué
    Bonjour,

    Finalement, ma solution est toute bête.

    Avec les heures que j'ai récupéré dans ce format : 2009-12-10 13:47:52

    j'ai juste récupéré l'heure pour chaque passage à un point donné, que j'ai converti en secondes ; Et j'en ai fait une moyenne. Reconvertie en hh:mm:ss pour être plus facile à lire.

    Il n'y avait rien de compliqué

    Merci à ceux qui m'ont répondu.

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

Discussions similaires

  1. php afficher les heures avec minutes qui reste..
    Par xunil2003 dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2012, 21h51
  2. Réponses: 3
    Dernier message: 13/08/2004, 18h52
  3. Travailler avec PHP / Apache / MySQL
    Par R3iTt0R dans le forum Linux
    Réponses: 22
    Dernier message: 24/06/2004, 11h03
  4. [débutant] choix de postgre avec php / migration
    Par bilbon.S dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 23/03/2004, 14h05
  5. Création d'utilisateur sous PostgreSQL 7.3.2 avec PHP
    Par duongkhang dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2003, 13h10

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