Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2011, 16h24   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 236
Points : 62
Points : 62
Par défaut compter un nombre de secondes

saluté à tous ...
bon je galère un peu avec les dates ...
en fait j'ai 7260 secondes dans un variable et je voudrai trouver une fonction qui me renvoi
02h01min

j'ai essayé de faire

mais ça me renvoi 03:01 ...ça ajoute une heure je ne sais pas trop pourquoi ...j'imagine que c'est à cause du paramétrage de mon serveur comme +1GMT ...
mais moi j'ai besoin de la vrai valeur correspondant à ce nombre de secondes ...pas de la traduction en date ...
possible en natif ?


++
CaviarNAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 16h33   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'enlève 3600 secondes
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 16h41   #3
Membre du Club
 
Inscription : janvier 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 236
Points : 62
Points : 62
oui j'y ai pensé mais je me disais que si je change mon serveur de GMT ça risque de tout foirer ... et je me sent pas
CaviarNAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 16h46   #4
Membre régulier
 
Inscription : novembre 2010
Messages : 102
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 102
Points : 86
Points : 86
Code :
1
2
3
4
5
$secondes = 7260;
$temps = $secondes % 3600;
$time[0] = ( $secondes - $temps ) / 3600 ; // h
$time[2] = $temps % 60 ; // s
$time[1] = ( $temps - $time[2] ) / 60; // min
?
Soull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 16h48   #5
Membre du Club
 
Inscription : janvier 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 236
Points : 62
Points : 62
yep,
j'ai utilisé cette fonction

mais je pensais qu'on pouvais faire ça en une ligne
dommage
++

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function secondsToTime($seconds){
    // extract hours
 
    $hours = floor($seconds / (60 * 60));
 
    // extract minutes
 
    $divisor_for_minutes = $seconds % (60 * 60);
 
    $minutes = floor($divisor_for_minutes / 60); 
 
    // extract the remaining seconds
 
    $divisor_for_seconds = $divisor_for_minutes % 60;
 
    $seconds = ceil($divisor_for_seconds); 
 
    // return the final array
 
    $obj = array(
        "h" => sprintf('%02d' ,$hours),
        "m" => sprintf('%02d', $minutes),
        "s" => sprintf('%02d' ,$seconds)		
    );
    return $obj;
 
}
CaviarNAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 17h41   #6
Membre chevronné
 
Inscription : mars 2005
Messages : 583
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 583
Points : 651
Points : 651
Tu peux :
Code :
1
2
$nbSecs = 7260;
echo date( 'H:i:s' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );
__________________
Pourfendeur de singletons en croisade
Petibidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 17h41   #7
Membre du Club
 
Inscription : mars 2007
Messages : 51
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 51
Points : 42
Points : 42
Citation:
Envoyé par Petibidon Voir le message
Tu peux :
Code :
1
2
$nbSecs = 7260;
echo date( 'H:i:s' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );
ou

Code :
1
2
$nbSecs = 7260;
echo date( 'H\hi\m\i\n' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );
christoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 18h27   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
date() donne des dates et non des quantités de temps, l'utiliser pour ça est une erreur.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 12h07   #9
Membre du Club
 
Inscription : mars 2007
Messages : 51
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 51
Points : 42
Points : 42
bon alors en deux lignes :
Code :
1
2
 
list($h, $i, $s) = explode(h_i_s(7260));
avec dans le fichier de fonctions
Code :
1
2
 
function h_i_s($s){$t=$s%3600;$r[0]=($s-$t)/3600;$r[2]=$t%60;$r[1]=($t-$r[2])/60;return $r;}
christoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 11h13   #10
Membre du Club
 
Inscription : janvier 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 236
Points : 62
Points : 62
yess !
merci pour vos réponses
avec tout ça ça devrai rouler !
++
CaviarNAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h30.


 
 
 
 
Partenaires

Hébergement Web