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

Langage PHP Discussion :

compter un nombre de secondes


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    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 ?


    ++

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'enlève 3600 secondes

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    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

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Points : 152
    Points
    152
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    ?

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    yep,
    j'ai utilisé cette fonction

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
     
    }

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Tu peux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nbSecs = 7260;
    echo date( 'H:i:s' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Tu peux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nbSecs = 7260;
    echo date( 'H:i:s' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nbSecs = 7260;
    echo date( 'H\hi\m\i\n' , strtotime( '00:00:00 + ' . $nbSecs . ' seconds' ) );

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    date() donne des dates et non des quantités de temps, l'utiliser pour ça est une erreur.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 54
    Points
    54
    Par défaut
    bon alors en deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list($h, $i, $s) = explode(h_i_s(7260));
    avec dans le fichier de fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;}

  10. #10
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 248
    Points : 101
    Points
    101
    Par défaut
    yess !
    merci pour vos réponses
    avec tout ça ça devrai rouler !
    ++

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

Discussions similaires

  1. Compter le nombre d'image par secondes (FPS)
    Par poukill dans le forum C++
    Réponses: 7
    Dernier message: 27/10/2008, 17h02
  2. Compter le nombre de page d'un report
    Par ToYonos dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/06/2003, 09h36
  3. compter le nombre de record
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 12/03/2003, 09h53
  4. [TListView] Compter le nombre de lignes
    Par agh dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2002, 20h25
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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