Page 1 sur 1

Php Date

Posté : 21 sept. 2008, 09:47
par Mathieu68
Bonjour,

Je voudrais savoir si il était possible d'avoir des millisecondes avec la fonction DATE().

Je n'est pas trouvé de paramétre sur le manuel Php!

Merci

Posté : 21 sept. 2008, 10:02
par Cyrano
En regardant plus attentivement la doc, tu aurais vu le paramètre "u" disponible depuis la version 5.2.2 pour les millisecondes.

Si donc ta version de PHP est antérieure, je peux te suggérer une mise à jour ;)

Posté : 21 sept. 2008, 10:14
par Mathieu68

Code : Tout sélectionner

<?php echo date('u') ?>
Avec ceci j'obtiens à tout les coups 000000 et ma version php est :PHP 5.2.6

Posté : 21 sept. 2008, 10:28
par Cyrano
Après vérification, ça ne fonctionne effectivement pas mieux chez moi, ça sent le bug, mais une recherche rapide ne m'a pas permis de le trouver dans les bugs de PHP. :?

Posté : 21 sept. 2008, 10:44
par @rthur
Hello,

Voici une solution qui fonctionne grâce à la fonction microtime (issu des commentaires de la fonction date):
function udate($format, $utimestamp = null) {
    if (is_null($utimestamp)) {
        $utimestamp = microtime(true);
    }

    $timestamp = floor($utimestamp);
    $milliseconds = round(($utimestamp - $timestamp) * 1000000);

    return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp);
}

print udate('H:i:s.u')."<br />";
print udate('u');

Posté : 24 sept. 2008, 22:43
par Mathieu68
merci !

Posté : 25 sept. 2008, 08:37
par albat
Modération :
Mathieu68, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

Posté : 26 sept. 2008, 17:22
par Mathieu68
ok :D