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 :

[Dates] Le format de microtime


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 208
    Par défaut [Dates] Le format de microtime
    Bonjour, j'ai besoin pour un script de récupérer le moment de création en millisecondes. J'utilise pour cela la fonction microtime.
    Seulement, celle-ci me retourne quelque chose du genre :
    0.3456783 100495098
    Or moi je voudrai un affichage genre time() (mais donc en millisecondes) :
    123456789 ms

    Sur la doc php, http://fr.php.net/manual/fr/function.microtime.php, il y a un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function microtime_float()
    {
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
    Mais est ce que c'est exactement ce que je veux? Il n'y a pas d'explication sur ce qu iest retourné.
    Merci de votre aide.

  2. #2
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    ça dépend ce que tu veux faire avec, si tu veux calculer le temps entre deux moments (en ms) ou le nombre de secondes actuelles (avec time())
    si tu veux calculer l'interval de temps entre 2 moments (par exemple pour ton chargement de page) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function	getmicrotime	()
    { 
       list($usec, $sec) = explode(" ",microtime()); 
       return ((float)$usec + (float)$sec); 
    }
     
    $debut =  getmicrotime();
     
    //le contenu de ta page
    //....
    //...
     
    $fin =  getmicrotime();
    echo "Page générée en ".round(($fin - $debut)*1000, 3) ." ms";

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 208
    Par défaut
    Bonjour et merci de ta réponse.
    Je veux juste le nombre de millisecondes (en fait la date courante) par rapport à 1970.

  4. #4
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    et bien il suffit tout simplement d'utiliser la petite fonction time();
    elle retourne un nombre de secondes, donc ensuite à toi de transformer en millisecondes

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 208
    Par défaut
    Oui, mais pour transformer time() en millisecondes, il faut que je fasse quelque chose du genre
    $toto = time()*1000;

    Or, il me faut le nombre exact de millisecondes... d'où ma question pour la modification du format de microtime().

  6. #6
    Membre éclairé Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Par défaut
    ok je comprends mieux ta demande alors il faut utiliser
    microtime(true);
    va voir la doc de microtime()
    en rajoutant true comme paramètre celà devient un float et donc tu récupères les millisecondes

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

Discussions similaires

  1. Insérer une date au format français dans un champ
    Par EpOnYmE187 dans le forum Installation
    Réponses: 2
    Dernier message: 14/06/2005, 12h09
  2. Réponses: 1
    Dernier message: 07/06/2005, 14h00
  3. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32
  4. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15
  5. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 11h28

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