microtime
(PHP 4, PHP 5)
microtime — Возвращает метку времени с микросекундами
Описание
Функция microtime() возвращает текущую метку времени с микросекундами. Эта функция доступна только на операционных системах, в которых есть системная функция gettimeofday().
При вызове без необязательного параметра, возвращается строка в формате "msec sec", где sec - это количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT), а msec - это дробная часть.
Если передан аргумент get_as_float , равный TRUE, функция microtime() возвращает действительное число.
Замечание: Аргумент get_as_float появился в PHP 5.0.0.
Пример #1 Пример использования функции microtime()
<?php
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
for ($i=0; $i < 1000; $i++) {
// Ничего не делать. Повторить 1000 раз
}
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo "Ничего не делал $time секунд\n";
// в PHP 5 то же самое можно сделать вот так:
$time_start = microtime(1);
for ($i=0; $i < 1000; $i++) {
// Ничего не делать. Повторить 1000 раз
}
$time_end = microtime(1);
$time = $time_end - $time_start;
echo "Ничего не делал $time секунд\n";
?>
См. также описание функции time().
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с датой и временем
- Дата и Время
- checkdate
- date_add
- date_create_from_format
- date_create_immutable_from_format
- date_create_immutable
- date_create
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse_from_format
- date_parse
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- date
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- strtotime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get
Коментарии
microtime() does not return microseconds in neither of the return modes
Normally returns "0.39081500 1709893727", first value trying to express the microsecond precision, but failing, because microseconds are a millionth part of a second, which means 6 decimals, not 8
Second mode returns numbers like these "1709894168.1621", "1709894209.819", with 3 or 4 decimals, depending on mood, but never with 6, as the function would suggest
To be able to actually return microseconds or seconds with microsecond precision, I am using a wrapper
function microtime_real($inSeconds = false)
{
if ($inSeconds === true) {
return number_format(microtime(true), 6, '.', '');
}
return (string)intval(microtime(true)* 1000000);
}