OVH Cloud OVH Cloud

Pb de calcul

2 réponses
Avatar
Le Blaireau
Bonjour
Je ne sais pas si je suis dans le bon forum ( mysql ou php) : c'est pour je
vais poster dans les 2

J'ai donc une base de données mysql qui me permet de compter l'activité des
personnes
j'ai donc 50 activités
Je veux donc savoir le temps passer par activité
J'ai donc fait une unite de temps : 30 secondes
Chaque activité a un coefficient : pour avoir le temps que la personne passe
par activité je multiple donc mon coefficient de l'activité par mon unité de
temps (30 secondes ). J'obtiens donc un certain nombre de secondes
Ce que je voudrais c'est transformer cette valeur ( par exemple 3660 s) en
temps 1H et1mn

En espérant avoir été assez clair

Merci

2 réponses

Avatar
Olivier Miakinen
Je ne sais pas si je suis dans le bon forum ( mysql ou php) : c'est pour je
vais poster dans les 2


Du multipost ? Si oui, c'est mal © !

J'ai donc une base de données mysql qui me permet de compter l'activité des
personnes
j'ai donc 50 activités
Je veux donc savoir le temps passer par activité
J'ai donc fait une unite de temps : 30 secondes
Chaque activité a un coefficient : pour avoir le temps que la personne passe
par activité je multiple donc mon coefficient de l'activité par mon unité de
temps (30 secondes ). J'obtiens donc un certain nombre de secondes
Ce que je voudrais c'est transformer cette valeur ( par exemple 3660 s) en
temps 1H et1mn


J'ai l'impression que ta question aurait pu aussi bien être posée sur
fr.education.entraide.maths...

$nb_secondes = nombre total de secondes, par exemple 3660...

$nb_minutes = $nb_secondes / 60;
$nb_secondes = $nb_secondes % 60;

$nb_heures = $nb_minutes / 60;
$nb_minutes = $nb_minutes % 60;

$nb_jours = $nb_heures / 24;
$nb_heures = $nb_heures % 24;

echo "$nb_jours j. $nb_heures h. $nb_minutes mn. $nb_secondes s.";

Avatar
CrazyCat
A tout hazard, j'ai une petite fonction que j'utilise fréquemment:

function mk_duration($delay) {
// converts a delta-seconds in day/hour/min/sec format
if ($delay > 86400) {
$days = intval($delay/86400);
$delay -= 86400 * $days;
$days = $days."j, ";
} else {
$days = "";
}
if ($delay > 3600) {
$hours = intval($delay/3600);
$delay -= 3600 * $hours;
if ($hours<10) { $hours = "0".$hours; }
$hours = $hours."h, ";
} else {
$hours = "";
}
$mins = intval($delay/60);
if ($mins<10) { $mins = "0".$mins; }
$mins = $mins."m";
$delay -= 60 * $mins
return "$days $hours $mins $sec";
}

Tu n'as plus qu'à envoyer (30 * ta période) et tu récupères une belle
chaine.

--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net