microtime

(PHP 4, PHP 5, PHP 7)

microtimeВозвращает текущую метку времени Unix с микросекундами

Описание

mixed microtime ([ bool $get_as_float = false ] )

Функция microtime() возвращает текущую метку времени Unix с микросекундами. Эта функция доступна только на операционных системах, в которых есть системный вызов gettimeofday().

Список параметров

get_as_float

Если указано и установлено в TRUE, microtime() возвратит float вместо string, как описано в разделе возвращаемых значений ниже.

Возвращаемые значения

По умолчанию microtime() возвращает string в формате "msec sec", где sec представляет собой количество секунд с начала Эпохи Unix (1 января 1970 0:00:00 GMT), а msec - это количество микросекунд, прошедших после sec.

Если параметр get_as_float установлен в TRUE, то microtime() возвратит результат в вещественном виде (float), представляющий собой текущее время в секундах, прошедших с начала Эпохи Unix с точностью до микросекунд.

Примеры

Пример #1 Замер времени выполнения скрипта с помощью функции microtime()

<?php
/**
 * Простая функция для реализации поведения из PHP 5
 */
function microtime_float()
{
    list(
$usec$sec) = explode(" "microtime());
    return ((float)
$usec + (float)$sec);
}

$time_start microtime_float();

// Спим некоторое время
usleep(100);

$time_end microtime_float();
$time $time_end $time_start;

echo 
"Ничего не делал $time секунд\n";
?>

Пример #2 Замер времени выполнения скрипта в PHP 5

<?php
$time_start 
microtime(true);

// Спим некоторое время
usleep(100);

$time_end microtime(true);
$time $time_end $time_start;

echo 
"Ничего не делал $time секунд\n";
?>

Пример #3 Пример использования microtime() и REQUEST_TIME_FLOAT (начиная с PHP 5.4.0)

<?php
// Выбираем время сна случайным образом
usleep(mt_rand(10010000));

// Начиная с PHP 5.4.0 в суперглобальном массиве $_SERVER доступно значение REQUEST_TIME_FLOAT.
// Оно содержит временную метку начала запроса с точностью до микросекунд.
$time microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo 
"Ничего не делал $time секунд\n";
?>

Смотрите также

  • time() - Возвращает текущую метку времени Unix

Коментарии

Sometimes you need to get not seconds but milliseconds since the UNIX epoch:

function millis() : int {
    [$milli, $seconds] = explode(' ', microtime()); // from string(21) "0.67932100 1748377570" 
    return intval($seconds) * 1000 // intval(0.67932100 * 1000) is 679
            + intval(doubleval($milli) * 1000); // 679 + (1748377570 * 1000) = full milliseconds (1000 ms per one s)
}
2025-05-27 23:47:12
http://php5.kiev.ua/manual/ru/function.microtime.html

    Поддержать сайт на родительском проекте КГБ