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 :

Convertir 0m3s en 00:03


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Convertir 0m3s en 00:03
    Bonjour,
    Je récupère depuis un feed rss une donnée de temps sous la forme 0m3s que je voudrais convertir sous la forme 00:03
    J'ai essayé d'utiliser strpos et substr, str_replace mais je n'obtiens jamais ce que je veux.
    Le plus gros problème c'est que le nombre de chiffres varie : par exemple il peut être 10m2s pour 10:02 ou en core 10m20s pour 10:20... Bref je ne m'en sors pas, quelqu'un aurait-il une idée ?
    Merci

  2. #2
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    En utilisant les expressions régulières:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    preg_match("#([0-9]*)m([0-5]?[0-9]?)s#", $taDuree, $matches);
    $taStringRetournee = matches[1] . ':';
    if(length(matches[2]) == 1) {
       $taStringRetournee .= '0';
    } elseif(length(matches[2]) == 0) {
       $taStringRetournee .= '00';
    }
    $taStringRetournee .= matches[2];
    Je pense que c'est comme ça que je ferais. A confirmer si c'est que tu cherches

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci, après quelques modifs ça marche nickel. Je mets le code pour ceux que ça pourrait intéresser à l'avenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    preg_match("#([0-9]*)m([0-5]?[0-9]?)s#", $duree, $matches);
    $time = $matches[1] . ':';
    if(strlen($matches[2]) == 2) {
       $time .= '';
    } elseif(strlen($matches[2]) == 1) {
       $time .= '0';
    }
    $time .= $matches[2];

  4. #4
    Membre chevronné
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Points : 2 015
    Points
    2 015
    Par défaut
    Ah tu veux pas dans le cas de 10m0s avoir 10:00?

    Par contre tu peux alléger ta version:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    preg_match("#([0-9]*)m([0-5]?[0-9]?)s#", $duree, $matches);
    $time = $matches[1] . ':';
    if(strlen($matches[2]) == 1) {
       $time .= '0';
    }
    $time .= $matches[2];
    Rajouter une chaine vide à la chaine $time ne sert à rien

    Sinon bien vu pour strlen, faut que j'arrête de mettre du java dans mon php

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Ah tu veux pas dans le cas de 10m0s avoir 10:00?
    Si si mais ça me le fait très bien comme ça.

    Merci en tout cas.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/06/2004, 12h07
  2. [QuickReport] convertir les états en RAVE
    Par El blérot dans le forum Rave
    Réponses: 5
    Dernier message: 18/03/2004, 17h05
  3. Réponses: 3
    Dernier message: 02/07/2003, 16h24
  4. [TP]Convertir Delphi en BP7
    Par Christophe Fantoni dans le forum Turbo Pascal
    Réponses: 28
    Dernier message: 19/11/2002, 17h30
  5. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34

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