Files
doc-fr/reference/datetime/functions/microtime.xml
2021-09-24 04:13:47 +01:00

135 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8cdc6621f9826d04abc3e50438c010804d7e8683 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- CREDITS: DAnnebicque -->
<refentry xml:id="function.microtime" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>microtime</refname>
<refpurpose>Retourne le timestamp UNIX actuel avec les microsecondes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>float</type></type><methodname>microtime</methodname>
<methodparam choice="opt"><type>bool</type><parameter>as_float</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<function>microtime</function> retourne le timestamp Unix, avec
les microsecondes. Cette fonction est uniquement disponible sur
les systèmes qui supportent la fonction gettimeofday().
</para>
<para>
Pour mesurer les performances, l'utilisation de <function>hrtime</function>
est recommandé.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>as_float</parameter></term>
<listitem>
<para>
Si utilisé et défini à &true;, <function>microtime</function> retournera
un nombre à virgule flottante au lieu d'une &string;, tel que décrit
dans la section des valeurs retournées ci-dessous.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Par défaut, <function>microtime</function> retourne une &string; au
format "msec sec", où <literal>sec</literal> est le nombre de secondes
depuis l'époque Unix (1 Janvier 1970, 00:00:00 GMT),
et <literal>msec</literal> est le nombre de microsecondes qui se sont écoulées
depuis <literal>sec</literal>, exprimé en secondes.
</para>
<para>
Si <parameter>as_float</parameter> est défini à &true;, alors
<function>microtime</function> retourne un nombre à virgule flottante,
qui représente le temps courant, en secondes, depuis l'époque Unix, précis
à la microseconde près.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Durée d'exécution d'un script en PHP</title>
<programlisting role="php">
<![CDATA[
<?php
$time_start = microtime(true);
// Attend pendant un moment
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Ne rien faire pendant $time secondes\n";
?>
]]>
</programlisting>
</example>
<example>
<title>Exemple avec <function>microtime</function> et <literal>REQUEST_TIME_FLOAT</literal></title>
<programlisting role="php">
<![CDATA[
<?php
// Durée d'attente aléatoire
usleep(mt_rand(100, 10000));
// REQUEST_TIME_FLOAT est disponible dans le tableau superglobal $_SERVER.
// Il contient le timestamp du début de la requête, avec une précision à la microseconde.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Ne rien faire pendant $time secondes\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>time</function></member>
<member><function>hrtime</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->