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 :

Transformer les secondes en heures et en minutes


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 172
    Points : 0
    Points
    0
    Par défaut Transformer les secondes en heures et en minutes
    Bonjour,

    J'ai un nombre par exemple 7000 qui indique le numéro de secondes.

    Je veux récupérer les heures et les minutes .

    Comment faire ?

    Merci de votre aide

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ben... dans une minute, il y a 60 secondes et dans une heure, il y a 60 minutes, soit 3600 secondes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $duree=75654; // en secondes
     
    $heures=intval($duree / 3600);
    $minutes=intval(($duree % 3600) / 60);
    $secondes=intval((($duree % 3600) % 60));

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    Tu pourrais préciser un peux pleas?
    Si tu veux dire prendre ton nombre (7000 dans ton exemple)
    Tu fais tes calculs pour savoir combien sa fait de minutes, heures etc...
    Ensuite suffit de te servir de la function date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $heures= 1;
    $minutes= 56;
    $secondes= 40;
    echo "bonjour cela a pris $heures/$minutes/$secondes pour tout finir.";
    Il y a certainement plus élégant mais a prioriti cela marche bien.

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    J'avoue que je n'ai pas eu le courage d'expliquer comment passer des secondes aux minutes etc lol sorry et en plus je suis trop lent a répondre

  5. #5
    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 727
    Points
    10 727
    Par défaut
    y'a tout ce qu'il faut dans PHP pour les dates pas besoin de faire de calcules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    date_default_timezone_set('UTC');
    $time = '7000';
    echo date('h:i:s', $time);
    // 01:56:40
    ghir_ana on ta déjà dit qu'il fallait te servir de date_diff en plus ...

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    y'a tout ce qu'il faut dans PHP pour les dates pas besoin de faire de calcules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    date_default_timezone_set('UTC');
    $time = '7000';
    echo date('h:i:s', $time);
    // 01:56:40
    Ah ben j'avais pas pensé à ça (bon évidemment ça ne marche plus si on dépasse les 24 heures, mais en même temps si tu as plus de 24 heures en secondes à convertir, c'est p'tet que la fonctionnalité est pas tout à fait bien pensée)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut conversion de secondes en années,mois,semaines,jours,heures,minutes..
    bonjour, voici ma fonction pour convertir un temps en secondes dans une version en français,

    elle s'utilise comme suit : echo time_to_str(TON_TEMPS_EN_SECONDES,LA PRECISION_SOUHAITEE_DE_1_A_7);

    si tu veux tu peux ajouter les trimestres, supprimmer les années etc, il suffit de modifier le tableau inclus dans la fonction;


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function time_to_str($time,$precision=2){
    if($time=abs(intval($time))){
    $s=['an'=>31471949,'mois'=>2622662,'semaine'=>604800,'jour'=>86400,'heure'=>3600,'minute'=>60,'seconde'=>1];
    foreach($s as $a=>$b){if($time>=$b && $c=$time/$b){$c=intval($c);
    $time-=$b*$c;$r[]="$c $a".($c>1?($a=='mois'?'':'s'):'');if(++$d==$precision)break;}}
    return count($r)==1?$r[0]:(implode(' ',array_slice($r,0,-1)).' et '.array_shift(array_slice($r,-1,1)));}
    return 'un instant';
    }

  8. #8
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    c'est gentil phpMike, mais je pense que depuis novembre 2011 :
    - soit il a trouve la solution
    - soit il est passe a autre chose.

Discussions similaires

  1. [V6] Transformer des secondes en heures
    Par Charly_An dans le forum Deski
    Réponses: 4
    Dernier message: 29/06/2018, 16h18
  2. [XL-2010] Insérer l'heure, les minutes et les secondes dans une cellule
    Par clem67 dans le forum Excel
    Réponses: 1
    Dernier message: 07/05/2012, 12h41
  3. Transformer des secondes en heures
    Par labartho dans le forum Formules
    Réponses: 2
    Dernier message: 05/03/2009, 16h09
  4. Réponses: 3
    Dernier message: 15/04/2008, 08h27
  5. Fixer l'heure, les minutes et les secondes d'une date
    Par pyxosledisciple dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 08h02

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